reactjs - store.dispach、useDispatch 和从 useReducer 分派有什么区别?
问题描述
import React, { useReducer } from "react";
...
import { useDispatch } from "react-redux";
...
import { createStore } from "redux";
const store = createStore(
...我看到所有触发操作,但 useReducer 调度不更新 redux 状态。
解决方案
正确,不useReducer
更新redux 存储。是一个常规的反应钩子,它允许组件以函数式的方式应用本地状态更新,类似于 Redux 使用的模式,这是一个非常常见的全局应用程序状态管理库。可以将其视为 Redux 的组件状态版本,即应用状态。useReducer
useReducer
useDispatch
是一个react-redux
使用 redux 上下文(包含存储/状态)的钩子,类似于connect
高阶组件在包装组件时提供的功能。它们都提供了一个dispatch
函数来将操作分派到 redux 存储。
store.dispatch
是dispatch
函数。
注意: react-redux
connect
HOC 使用redux
'sbindActionCreators
将 dispatch 函数包装(绑定)到在mapDispatchToProps
.
推荐阅读
- docker - 有没有办法在 docker 上设置运行级别?
- python - pysimplegui,显示表格的选定部分
- javascript - 如何使用 Javascript 或 jQuery 获取 JSON 格式的表单数据
- google-apps-script - 根据值或空白隐藏 Google 电子表格中的空白行
- javascript - 工作字计数器,但逗号和句点有问题
- c++ - 形成元组数组 C++
- jquery - Jquery Mobile Swipe 事件导致输入中的文本不可拖动
- android - 为什么 RecyclerView.ViewHolder.getAdapterPosition() 返回 -1?
- node.js - 通过标准 API 向 Mattermost 发送文件
- android - 读取 url 时在 android studio 中没有与主机名关联的地址