开发者社区> 问答> 正文

#React 访问Redux商店的正确方法是什么?

#React 访问Redux商店的正确方法是什么?

展开
收起
因为相信,所以看见。 2020-05-07 22:41:28 497 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    访问组件中商店的最佳方法是使用该connect()函数,该函数将创建一个新组件,该组件将现有组件包裹起来。这种模式称为高阶组件,通常是在React中扩展组件功能的首选方式。这使您可以将状态和动作创建者映射到您的组件,并在商店更新时自动将它们传递给您。

    让我们以 使用connect 的组件为例:

    import { connect } from 'react-redux'
    import { setVisibilityFilter } from '../actions'
    import Link from '../components/Link'
    
    const mapStateToProps = (state, ownProps) => ({
      active: ownProps.filter === state.visibilityFilter
    })
    
    const mapDispatchToProps = (dispatch, ownProps) => ({
      onClick: () => dispatch(setVisibilityFilter(ownProps.filter))
    })
    
    const FilterLink = connect(
      mapStateToProps,
      mapDispatchToProps
    )(Link)
    
    export default FilterLink
    

    由于它具有许多性能优化并且通常不太可能导致错误,因此Redux开发人员几乎总是建议connect()直接使用过度访问商店(使用上下文API)。

    class MyComponent {
      someMethod() {
        doSomethingWith(this.context.store)
      }
    }
    
    2020-05-07 22:42:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
利用编译将 Vue 组件转成 React 组件 立即下载
React Native 全量化实践 立即下载
React在大型后台管理项目中的工程实践 立即下载