繁体   English   中英

React Native-setState到其他组件

[英]React Native - setState to other component

我想在启动Home时更改Header某些布局。 所以我决定在Home componentWillMount时调用setState 如何将State设置为不同js文件中的其他组件。

Header.js

    class Header extends React.Component {
        constructor(props) {
            super(props);
            this.state = { type: '' };
        }

        render() {
            if(this.state.type == "home"){
                //do something
            }else{
                //do something
            }
         }
    }

    module.exports = Header;
    AppRegistry.registerComponent('myApp', () => Header);

Home.js

    class Home extends React.Component {

        //set from here
        componentWillMount(){
            this.setState({Header.state.type:'home'});
        }
    }

    module.exports = Home;
    AppRegistry.registerComponent('myApp', () => Home);

您需要一个公共父组件,并且只需要通过AppRegistry.registerComponent()安装一个初始组件。 像这样:

Parent.js

class Parent extends React.Component {
    constructor(props) {
        super(props);
        this.state = { type: '' };
    }

    render() {
        <Header></Header>
        <Home></Home>
     }
}

module.exports = Parent;
AppRegistry.registerComponent('myApp', () => Parent);

AppRegistry.registerComponent(); 您其他组件中的呼叫需要删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM