【问题标题】:mapStateToProps must work with getDerivedStateFromProps?mapStateToProps 必须与 getDerivedStateFromProps 一起使用吗?
【发布时间】:2020-09-07 16:06:41
【问题描述】:

我尝试在我的 react native 应用程序中使用 Redux。我可以肯定地看到值是由 reducers 更新的,但我的问题是为什么它没有自动更新我的类的属性?

我需要使用 getDerivedStateFromProps 来填充我的类属性。我希望以下内容:

const mapStateToProps = (state) => { return { email: state.user }

会自动用 redux 存储中的值更新 this.state.email,但它不会。我需要执行以下操作:

静态 getDerivedStateFromProps(props, state) {return { user: props.user}}

【问题讨论】:

    标签: react-native redux


    【解决方案1】:

    您可以在组件中直接使用 reducer。当 reducer 中的值发生变化时,它也会自动更新。例如,如果您想在组件中使用 user 变量,那么您可以按如下方式使用它:

    <Text>{this.props.user}</Text>
    

    现在,当 reducer 中的 user 变量值发生变化时,它会在 &lt;Text&gt; 组件中自动更新。您不需要使用此行:

    static getDerivedStateFromProps(props, state) {return { user: props.user}}
    

    【讨论】:

    • 直接使用reducer是什么意思?我确实使用了减速器,但它不起作用
    • 我的意思是你不需要每次都分配redux变量user来声明。您可以像状态变量一样使用。
    • 哦,我明白了...好吧,这意味着状态真的不会自动更新吗?我只是想确认一下
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 2019-09-28
    • 2018-01-31
    • 2020-01-25
    相关资源
    最近更新 更多