在非 react component 组件构建的js中 , 如何获取 redux 的 store 或者怎么才能调用 dispatch 呢?

#1

难道要在 create store 的时候把store设置成全局变量吗? 这样在任意脚本中都能调用 store 对象的 dispatch 方法;

我想请问下有没有更好的方法, 来获取这个dispatch方法 或者 store 对象?

#2

const store = createStore( ... ) store有了.
const dispatch = store.dispatch dispatch也有了.

#3

不是那样的
比如 我的 root.js

import store from '../store';
// store.dispatch 没问题可以用

另外一个 js 非react component 所以不能通过 map dispatch to props 拿到store 对象
auth.js 我想使用 store 的 dispatch, 怎么把store 引入进来

#4

一般来说尽量在 react 组件里使用,如果需要在非 react 组件里,可以把 store export 出来,让其它模块可以直接引用。

#5

也是直接import啊, 组件里面能取到store是因为你在Provider里面通过props传递进去了嘛. 跟直接用没区别啊.

#6

我开始也是 export store, 但是发现store 会compose多次, 最后尝试把 store 设置成全局对象 window.store 这样任何地方都可以使用 store 对象, 但是如果同构的话 , 不太好

#7

通过 middleware 这个问题已经解决了

#8

你好,请问是怎么解决的呢,可以详细说下吗

1 Like
#9

怎么解决的?

#10

如何通过middleware解决的,谢谢分享。