【发布时间】:2020-08-07 21:49:39
【问题描述】:
这是一个基本的 react-redux 应用程序 (sandbox):
import React from "react";
import ReactDOM from "react-dom";
import { createStore } from "redux";
import { useDispatch, Provider, useSelector, useStore } from "react-redux";
const App = () => {
const store = useStore(); // <- how it gets the store object of Provider ?
const state = useSelector(s => s);
return <div>{state}</div>;
};
ReactDOM.render(
<Provider store={createStore((state, action) => 5)}>
<App />
</Provider>,
document.getElementById("root")
);
现在我的问题是:
useStore 这样的钩子如何获取我们在<Provider store={store}> 中设置的 store 对象?
如果是dom,我们可以使用this.closest('.provider').getAttribute('store')来获取父元素中provider元素的store属性。但是我们如何在 react 中做到这一点呢?
我问它是因为我想了解 react-redux 是如何在幕后工作的。
谢谢。
【问题讨论】:
标签: reactjs redux react-redux