将Redux connect(mapStateToProps)与多个React组件一起使用

时间:2019-06-02 11:48:38

标签: reactjs react-redux redux-thunk

我对React特别是Redux还是很陌生(这是我第一次使用Redux)。我设法将redux设置为React,并成功地将redux全局状态用于另一个文件中的另一个组件。

问题在于如何将其用于多个组件。我正在使用无状态功能组件。我已经设法将其用于一个无状态功能组件,但是无法对多个组件使用export connect(mapStateToProps)。

Example.js

import React from 'react';
import { connect } from 'react-redux';

const mapStateToProps = (state) => ({
    globaldata: state.globaldata
})

const component1 = ({globaldata}) = > {
    return (
        <h1>This is {globaldata} in component 1</h1>
    )
}

const component2 = ({globaldata}) = > {
    return (
        <h1>This is {globaldata} in component 2</h1>
    )
}

export default connect(mapStateToProps)(component1);
export {component2};

如果仅在component1上使用它,则它可以工作,我可以读取globaldata。但是如何使其在component2中起作用?

我也尝试过这个,但这也不起作用

export default connect(mapStateToProps)(component1);
export connect(mapStateToProps)({component2});

如何在React Redux Thunk中正确地对一个文件中的多个组件使用全局状态?预先感谢

1 个答案:

答案 0 :(得分:0)

您的语法不正确。将componet2存储在局部变量中,然后将其导出。

const component2View = ({globaldata}) => {
    return (
        <h1>This is {globaldata} in component 2</h1>
    )
}
const component2 = connect(mapStateToProps)(componentView);

export { component2 };