我有一个包含 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/