react-native - 在 React Native 中将状态从子组件传递到父组件

标签 react-native parent-child state

我的应用程序有一个设置屏幕(子组件),您可以在其中更改有关自己的信息,我正在尝试将其呈现在我的应用程序的配置文件屏幕(父组件)上。因此,个人资料屏幕会显示您的信息,如果您想更改任何信息,请在设置中进行。现在,我在设置屏幕中所做的任何更改都会显示在 Firebase 中,但是如果我返回到配置文件屏幕,则不会呈现设置中的更改。当然,如果我关闭应用程序并重新加载它,更改就会存在,因为设置中的更改正在注册到 firebase;但是,状态不会从子组件传递到父组件。有没有人对如何将状态从设置(子)组件传递到配置文件(父)组件有任何建议?

最佳答案

您可以尝试使用 redux,每当您更改 redux store 中的数据时,它都会通过 props 将数据存储在 state 中。

另一个想法是,将 setState 方法传递给子组件。

家长

class Parent extends Component {
    updateState (data) {
        this.setState(data);
    }
    render() {
        <View>
            <Child updateParentState={this.updateState.bind(this)} />
        </View>
    }
}

child
class Child extends Component {
    updateParentState(data) {
        this.props.updateParentState(data);
    }

    render() {
        <View>
            <Button title="Change" onPress={() => {this.updateParentState({name: 'test'})}} />
        </View>
    }
}

关于react-native - 在 React Native 中将状态从子组件传递到父组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44875787/

相关文章:

react-native - 捕获 React Native 获取错误而不用红屏停止应用程序

react-native - 用于 react 导航的 getOptions

react-native - react 原生 redux 连接未定义的函数

c - 如何通过管道将最后一个 child 的号码发送给 parent ?

react-native - 在 react-native 中,navigationOptions 有哪些属性?

jQuery CSS Style a parent div when child is focused

css - 如何通过使用 CSS 悬停其父 div 来更改一个 div 的透明度?

android - 在屏幕旋转时保留 ActivityGroup 的子 Activity 的状态

javascript - 在 parent 之前 react child Prop 渲染?

javascript - 如何使用传递给 React 函数的参数来设置状态