Fai*_*een 1 reactjs react-native
我正在将一个数组传递给 aFlatList但出现错误:
'不变违规:对象作为 React 子对象无效(找到:带有键 {id、customer 等} 的对象)。
我试过在项目周围放置括号并将其删除,但没有任何效果。有谁知道如何解决这个错误?
renderSearches = () => {
if (this.state.products.length) {
return (
<View style={styles.suggestionContainer}>
<FlatList
data={this.state.products}
keyExtractor={(item, index) => index.toString()}
renderItem={({item}) => <SuggestionItem value={item} onSelect={this.updateSearchTerm} />}
/>
</View>
)
}
return (<View></View>);
}
Run Code Online (Sandbox Code Playgroud)
这是 SuggestionItem 渲染:
render() {
const {value} = this.props;
return (
<TouchableOpacity style={styles.suggestion} onPress={() => {this.props.onSelect(value)}}>
<Text style={styles.suggestionText}>{value}</Text>
</TouchableOpacity>
);
}
Run Code Online (Sandbox Code Playgroud)
您的 SuggestionItems 渲染方法应该具有 -
<Text style={styles.suggestionText}>{value.customer}</Text>
Run Code Online (Sandbox Code Playgroud)
或类似的东西
<Text style={styles.suggestionText}>{value.name}</Text>
Run Code Online (Sandbox Code Playgroud)
而不是直接在文本组件中渲染整个对象
<Text style={styles.suggestionText}>{value}</Text>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5173 次 |
| 最近记录: |