首页 > 解决方案 > store.dispach、useDispatch 和从 useReducer 分派有什么区别?

问题描述

import React, { useReducer } from "react";

...

import { useDispatch } from "react-redux";

...

import { createStore } from "redux";

const store = createStore(

...我看到所有触发操作,但 useReducer 调度不更新 redux 状态。

标签: reactjsredux

解决方案


正确,useReducer更新redux 存储。是一个常规的反应钩子,它允许组件以函数式的方式应用本地状态更新,类似于 Redux 使用的模式,这是一个非常常见的全局应用程序状态管理库。可以将其视为 Redux 的组件状态版本,即应用状态。useReduceruseReducer

useDispatch是一个react-redux使用 redux 上下文(包含存储/状态)的钩子,类似于connect高阶组件在包装组件时提供的功能。它们都提供了一个dispatch函数来将操作分派到 redux 存储。

store.dispatch dispatch函数。

注意: react-redux connect HOC 使用redux'sbindActionCreators将 dispatch 函数包装(绑定)到在mapDispatchToProps.


推荐阅读