如何从其他文件更改反应状态?

时间:2018-03-22 15:42:25

标签: javascript reactjs react-native

我有reactJs文件。我需要在第二个文件中使用第一个文件中的状态,从第二个文件中改变第一个文件的状态) 附:我需要从B类(其他文件)中进行更改(test:false(need-> true))。



class A extends Component {
  this.state = {
            test: false
        };
}

////////////////
class B extends Component {
  

}




1 个答案:

答案 0 :(得分:4)

使用redux,或处理父组件中的状态并将其传递下去:

class A extends Component {
  // ...
}


class B extends Component {

  updateTestInB(){
    this.props.updateTest(true)
  }

}

class Parent extends Component {

    state = {
        test: false
    }

    updateTest(boolean){
        this.setState({test: !this.state.test})
    }

    render(){
        return (
            <div>
                <a test={this.state.test} />
                <b updateTest={this.updateTest}/>
            </div>
        )
    }
}