【发布时间】:2021-05-09 11:13:20
【问题描述】:
我正在尝试熟悉 React Native。目前我正在开发一个应用程序,但在尝试显示对数组的各个元素的更改时遇到了一个问题。例如:
function MyApp() {
const [array, setArray] = useState([1,2,3]);
const onPress = () => {
let temp = [3,2,1];
setArray(temp);
}
return(
<View>
<TouchableHighlight onPress={onPress}>
<View>
<Text>{array[0]}</Text>
</View>
</TouchableHighlight>
</View>
);
}
使用上面的代码,我希望在文本组件中显示“1”,并在按下时变为“3”。 console.log 显示正在更改的状态,但实际应用程序内的文本组件中显示的内容永远不会更新。然后我尝试使用单个整数状态,如下所示:
const [int, setInt] = useState(0);
const onPress = () => {
setInt(1);
}
使用像上面这样的整数状态完全可以按预期工作。谁能告诉我我的数组状态做错了什么?谢谢。
【问题讨论】:
-
它工作正常,代码看起来不错
-
这里是工作应用程序:snack.expo.io/@xeteke8423/cranky-kiwi
标签: javascript arrays reactjs react-native setstate