REACTJS:改变另一个班级的状态

时间:2017-11-21 10:06:42

标签: javascript reactjs

我有两个文件Reactjs
file1.js

class App extends Component {
constructor(props) {
    super(props);
    this.state = {
        data: [],
        selection: null
    };

file2.js

class SearchBar extends Component {
InputChange = () => {
    console.log(App.state);
}}

我想在使用类SearchBar时使用和更改类App的状态,我将file2导入到file1。谢谢!我的英语不好。

1 个答案:

答案 0 :(得分:3)

这很简单:D你只需要传递改变状态的函数,如下所示:

class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
        data: [],
        selection: null
  };

  changeStuff(paramsIfAny) {
    this.setState(/* whatever you want */);
  }

  render() {
    .....
     <SearchBar changeHandler={this.changeStuff.bind(this)} />
    .....
  }
}

然后在您的SearchBar组件上

class SearchBar extends Component {
InputChange = (params) => {
   this.props.changeHandler(params);
}}

这是真正缩写的代码,以简化我的意思。我希望你能完成它!