javascript - 从 Redux 中导出值(value),使其全局化

标签 javascript reactjs redux react-router-redux

我正在使用 redux-responsive作为创建响应式设计的帮助工具。

无论设备是否具有桌面宽度,我都会像这样从 Redux 传递一个 bool 值属性:

const mapStateToProps = (state) => ({
  desktop: state.browser.greaterThan.small,
})

这在整个应用程序的很多地方都有定义,我想跳过 mapStateToProps 并导出它一次,然后像这样导入它:

import { desktop } from './someWhereInStore.js';

我想知道如何以及在何处导出 Redux 中的 desktop 值?

最佳答案

您必须以某种方式将您的组件连接到商店。您可以实现一个包装器来分解您的映射:

export function wrapper(WrappedComponent) {

    class WrapperComponent extends Component {

        render() {
            return <WrappedComponent
                {...this.props}
                desktop={this.props.desktop}
            />
        }
    }

    const mapStateToProps = (state) => ({
        desktop: state.browser.greaterThan.small,
    })

    return connect(mapStateToProps)(WrapperComponent);
}

并替换

const mapStateToProps = (state) => ({
  desktop: state.browser.greaterThan.small,
});    

connect(mapStateToProps)(...);

通过

wrapper(...);

关于javascript - 从 Redux 中导出值(value),使其全局化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48869572/

相关文章:

css - 单击后我的复选框不会保持选中状态(带有 css 的样式复选框)

javascript - Jest : Unit test toHaveBeenCalled() not working

javascript - React js-显示状态值取决于 redux props 值

javascript - 将SQL数据导入JS数组

reactjs - 使用命名导入来响应延迟导入

javascript - 绘制星爆 - basil.js

reactjs - Redux-Logic 和 Redux-thunk 之间的区别

javascript - redux 文档中的这个示例如何工作?

javascript - 如何为你的 javascript 制定计划

javascript - RequireJS 和原型(prototype)