【发布时间】:2022-07-15 22:39:57
【问题描述】:
想要使用 react native 中的 onPress 函数传递的参数值来更新组件视图。
【问题讨论】:
-
您当前的代码是什么样的,什么不起作用?
标签: reactjs react-native
想要使用 react native 中的 onPress 函数传递的参数值来更新组件视图。
【问题讨论】:
标签: reactjs react-native
const onItemClick = (item) => {
alert(JSON.stringify(data));
}
const renderItem = ({ index, item }) => (
<TouchableOpacity onPress={ () => {onItemClick(item)} } >
<Text> {item.name} </Text>
</TouchableOpacity>
);
【讨论】:
如果您希望通过传递给 onPress 函数的值来更新组件,则需要确保将要更新的内容存储在 state 变量中,以便 React Native 触发该组件的更新。它可能看起来像这样:
const [counter, setCounter] = useState(0);
const textOnPress = (const val) => {
setCounter(val);
}
const component = () => (
<Text onPress={()=>{textOnPress(const val)}}>{counter}</Text>
);
【讨论】:
FlatList,而不是使用View 来包装组件,您必须使用Pressable。 Pressables 有一个 onPress 事件,您可以向该事件传递一个函数来更改用于存储该项目内容的 state 变量。