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