Mat*_*ung 6 reactjs react-native react-native-flatlist
我有一个FlatList
我想根据方向更改列数的地方.但是,当我这样做时,我会看到红色屏幕.根据红屏错误消息,我不太确定我应该如何更改关键道具.任何帮助表示赞赏.
// dynamically changing number of columns
const numCols = orientation === constants.PORTRAIT ? 3 : 8
<FlatList
keyExtractor={(_, i) => i}
numColumns={numCols} // assigning the number of columns
horizontal={false}
renderItem={({ item }) => <ListItem imageUrl={item.url} />}
/>}
Run Code Online (Sandbox Code Playgroud)
小智 30
从文档中,看起来你应该做这样的事情
key={(this.state.horizontal ? 'h' : 'v')}
Run Code Online (Sandbox Code Playgroud)
kri*_*ish 26
我是用钥匙做的
numColumns = {this.state.columnCount}
key={this.state.columnCount}
Run Code Online (Sandbox Code Playgroud)
const [numCols, setColumnNo] = useState(0);
<FlatList
key={numCols}
numColumns={numCols}
...
/>
Run Code Online (Sandbox Code Playgroud)
将不断变化的值传递给 FlatList 本身。它与 keyExtractor 或 renderItem 方法中的关键属性无关:
<FlatList key={changingValue} .. />
Run Code Online (Sandbox Code Playgroud)
应该解决它。
归档时间: |
|
查看次数: |
5504 次 |
最近记录: |