React Native setState不刷新渲染

时间:2018-12-20 15:59:38

标签: react-native

我尝试获取未激活的内容(按照NativeBase.io-https://docs.nativebase.io/Components.html#button-def-headref的说法,这仅表示它没有背景色),然后单击它,使其变为活动状态(它具有背景色) )。

我这样定义按钮:

  <Button active={this.state.selected} onPress={() => this.select()} first>
      <Text>Puppies</Text>
  </Button>
在我的状态下,

selected变量默认为false。当我运行该应用程序时,它可以正常运行。

已实现select()方法:

  select() {
    this.setState({ selected: true })
  }

我希望在单击按钮后,它应该更改其背景,但事实并非如此。我检查this.state.selected的值,它会适当更改。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

export default class MyComponent extends Component {
  state = {
    selected: false
  }

  handlePress = () => {
    const { selected } = this.state;

    this.setState({
      selected: !selected,
    })
  }

  render() {
    const { selected } = this.state;

    return (
      <Button active={selected} onPress={this.handlePress} first>
        <Text>Puppies</Text>
      </Button>
    );
  }
}