反应本机-状态更改,但组件未重新渲染

时间:2019-05-06 05:15:19

标签: react-native state render

我正在制作一个菜单,用于更改Google Maps API的类型,但是按下的状态无法正常运行。请注意,在函数this.state.pressed上更改setPressedState之后,Text组件内部的状态不会被重新渲染,并且在使用{之后,不会重新渲染包含MapMenu组件的组件上的状态。 {1}}。

注意:警报显示按下的状态正在更改。

getPressed

2 个答案:

答案 0 :(得分:5)

要重新渲染组件,您需要使用official documentation中提到的setState方法,即:

  

通常,您应该在构造函数中初始化状态,然后在要更改状态时调用setState。

看到这个

setPressedState = (press) => {
    this.setState({pressed:press}, () => {
      Alert.alert(this.state.pressed)
    });
}

答案 1 :(得分:0)

这不是正确的操作方式,您不应像其他任何使用变量一样使用state并使用赋值运算符

在对变量和常量进行反应时,您可以使用赋值运算符, 但如果是州,则应使用。

setState({
stateVariable:NewValue 
})