如何获取引用以存储在react / redux中?

bie*_*ier 5 reactjs react-redux react-universal

在我的reactjs-universal组件中,我这样写:

const mapStateToProps = (store) => {
  return {
    cars: store
  }
}

export default connect(mapStateToProps)(SearchForm)
Run Code Online (Sandbox Code Playgroud)

在同一组件中,我想调度一个类似的动作:

 store.dispatch({type: 'SHOWDETAIL', data: 'hi'});
Run Code Online (Sandbox Code Playgroud)

运行此命令后,我得到:

Uncaught TypeError: _create2.default.dispatch is not a function
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式在我的组件中获得对商店的引用,以便我可以分派动作?

Ani*_*ail 3

connect将以mapStateToProps状态而不是商店作为参数进行调用。

看来在您的情况下,您不需要引用商店,并且使用 connect 将调度映射到道具就足够了。

const mapStateToProps = (store) => {
  return {
    cars: store
  }
}

const mapDispatchToProps = dispatch => {
  return {
    action : () => dispatch({
      type : 'ACTION_NAME'
    })
  }
}
export default connect(mapStateToProps, mapDispatchToProps)(SearchForm)
Run Code Online (Sandbox Code Playgroud)

如果您确实想要该商店,则只需从创建它的位置导出它并在需要的地方导入它,这不是connect传递商店的目的。