在React组件中,一旦使用Redux从另一个组件更改了状态,如何从状态获取最新数据?

时间:2020-01-24 09:53:33

标签: javascript reactjs redux react-redux

我的代码中包含三个组件。

  • cart.js
  • datepicker.js
  • usertotal.js

以及从数据库中获取数据的动作

  • action.js

还有一个reducer函数处理来自actions.js的动作

每个组件都已通过操作{dispatch}接收数据。

我需要使用操作(如果组件的状态已更改)来更改数据,然后将其交还给我应用中的其他组件。

这是怎么构造的?

2 个答案:

答案 0 :(得分:2)

使用@Abhisar建议的方法,将redux存储库连接到react应用程序中。您的组件会自动监视您的状态是否有更改,并在还原状态发生更改时重新渲染。

另外,请参见官方React Redux Doc

答案 1 :(得分:1)

我认为您需要为此用途使用connectmapStateToProps。 我们需要做的是使用react-redux中的connect函数,您的组件看起来像这样-:

import { connect } from "react-redux";
import {Component} from "react";

class YourComponent extends Component {
    constructor(props){
        super(props);
        this.state = props.data;
    }
    // Your component code.....
}

export const mapStateToProps = state => ({
  data: state.data,
});

export default connect(mapStateToProps)(YourComponent);