我试图在我的 React 应用程序中使用 Redux,但我发现我可以在我的应用程序中显式使用 Redux,而不使用 React-Redux 库。
const redux = require('redux');
我想知道为什么我们的环境中还需要react-redux 库? 有人可以帮我吗?
Redux 是一个与 UI 库无关的状态管理库。 React 是一个与状态管理无关的 UI 库。
React-Redux 是两者之间的粘合剂。您不需要它,但您必须自己实现粘合(挂钩/HOC)。
简而言之:
React-redux 可以让你的组件在组件渲染的 Redux 状态发生变化时重新渲染。
当然,您也可以在组件中执行
store.getState().foo.bar
操作,但是您必须手动跟踪状态更改并重新渲染组件。否则,它将始终保持不变并且永远不会更新。
如果您使用
useSelector(state => state.foo.bar)
,则当 state.foo.bar
更改时,您的组件将始终重新渲染,因此您不必自己跟踪。
react-redux
特别包含 Provider
组件以及 useDispatch
和 useSelector
钩子。
如果您正在使用它们,那么您正在使用 react-redux
。如果您不使用它们,您会错过很多,所以我建议您这样做。