javascript - 在 React Native View 上强制 onLayout

标签 javascript ios reactjs react-native react-native-ios

我有一个包含 Text 字段的 React Native View,并且我正在使用 onLayout prop 进行一些位置计算,这依赖于它提供的数据。

<View onLayout={this.calculateDimensions}>
  <Text>{this.props.content}</Text>
</View>

这效果很好,但有一种情况是 content 属性更新为具有相同字符大小的不同字符串。这会导致布局不改变并且 onLayout 不触发。

每次 content 属性更新时都必须进行这些位置计算。

注意:我知道有多种方法可以更新组件。更新与布局不同,遗憾的是不会触发 onLayout

最佳答案

您可以根据内容拥有唯一的 key 。每当组件的关键属性发生更改时,就会强制重新渲染。

关于javascript - 在 React Native View 上强制 onLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51786087/

相关文章:

javascript - 如何通过关系处理特定于父级的模型值

ios - 使用 xcodebuild 归档时缺少配置文件错误

c# - ASP.NET MVC 4 ModelBinding 使用 [] 符号而不是点

javascript - 仅包含页面源中的 &lt;script&gt; 标记

reactjs - 如何使用 MUI 以编程方式显示 "ripple effect"?

javascript - 在大型项目中关闭 HTML 单击模式

Javascript 帮助 - Nim 游戏

javascript - React - 无法获取 this.refs

javascript - 根据另一个对象数组的属性对一个对象数组进行排序

ios - 核心动画立即调用完成函数