当前位置: 首页 > news >正文

北京网站设计制作招聘信息开发网站建设

北京网站设计制作招聘信息,开发网站建设,国内做设备网站哪些好,网站建设丿金手指下拉9一、概念 createAction 是一个用于创建 Redux action creator 的函数,它可以让你更快地编写 Redux 相关的代码,并且更加易于阅读和维护。 二、简单示例 使用 createAction,你只需要传入一个字符串类型的 action type,然后它会返…

一、概念

createAction 是一个用于创建 Redux action creator 的函数,它可以让你更快地编写 Redux 相关的代码,并且更加易于阅读和维护。

二、简单示例

使用 createAction,你只需要传入一个字符串类型的 action type,然后它会返回一个新的函数,这个函数就是 Redux action creator。当你调用这个新的函数时,它会返回一个包含 type 属性的普通 JavaScript 对象,这个对象就是 Redux 中的 action。

import { createAction } from '@reduxjs/toolkit'const increment = createAction('counter/increment')// 使用新的action creator
dispatch(increment()) // { type: 'counter/increment' }

三、使用createAction的好处

在实际使用中,createAction 的最大优点在于它可以自动创建 FSA(Flux Standard Action)规范的 action,即一个带有 type、payload 和 error 属性的 action。这使得我们在编写 Redux 相关的代码时,可以更加标准化和规范化,同时也能够更好地与其他库和工具集成。

import { createAction } from '@reduxjs/toolkit'const addTodo = createAction('todos/add', (text) => ({payload: { text }
}))// 使用新的action creator
dispatch(addTodo('Buy milk')) // { type: 'todos/add', payload: { text: 'Buy milk' } }

四、实际例子

1、创建reducers目录并创建user.js文件

import { createReducer } from "@reduxjs/toolkit";const userReducer = createReducer({age: 1,name: "张三",},(builder) => {builder.addCase("user/ageAdd", (state, action) => {state.age += 1;}).addCase("user/updateName", (state, action) => {state.name = action.payload.name;});}
);export default userReducer;

2、创建actions目录并创建user.js文件

import { createAction } from "@reduxjs/toolkit";/*** 接收两个参数* 第一个参数 要调用reducer的名字* 第二参数 是一个方法,接收调用时传过来的参数* 返回一个payload的对象*/
export const ageAdd = createAction("user/ageAdd", () => {return {payload: {},};
});export const updateName = createAction("user/updateName", (name) => {return {payload: {name,},};
});

3、在configureStore中挂载

import { configureStore, createReducer } from "@reduxjs/toolkit";
import userReducer from "./reducers/user";export const countReducer = createReducer({num: 1,},{/*** 接收两个参数* @param {} state 当前的状态* @param {*} action 页面上传过来的状态*/add: (state, action) => {// 在这里面可以直接修改state 不需要returnstate.num += 1;},}
);const store = configureStore({// reducer: countReducer,reducer: userReducer,
});export default store;

4、页面中使用

import { useSelector, useDispatch } from "react-redux";
import { ageAdd, updateName } from "./store/actions/user";export default function LearnReduxToolkit() {const state = useSelector((state) => state);const dispatch = useDispatch();return (<div><div>{state.name} - {state.age}</div><button onClick={() => dispatch(ageAdd())}>age + 1</button><inputtype="text"onChange={(event) => dispatch(updateName(event.target.value))}/></div>);
}
http://www.yidumall.com/news/58614.html

相关文章:

  • 做视频网站视频来源seo优化报告
  • 替别人做设计的网站多少钱关键词挖掘工具
  • 织梦网站栏目管理空白营销网络建设
  • 网页做成app网络优化工程师工作内容
  • 什么都不懂做网站绍兴seo管理
  • 网站做游戏活动深圳百度搜索排名优化
  • 生活分类信息网站大全百度app下载
  • 只做网站的人员工资短期培训班学什么好
  • asp网站模板源码拓客引流推广
  • 怎么利用个人网站百度广告怎么做
  • 网址推广软件合肥网络优化公司有几家
  • 如何做网站英文简历模板百度sem优化师
  • 被墙网站怎么做301跳转seo推广和百度推广的区别
  • 响应式网站文字大小seo网站优化快速排名软件
  • java做的网站怎么调试网址域名查询ip地址
  • discuz应用杭州百度人工优化
  • 深圳网站开发费用任务放单平台
  • 网站开发费用计入科目seo搜索引擎优化就业前景
  • 聊城建网站互联网营销案例
  • 温州网站制作报价网站快速优化排名推荐
  • wordpress网站推翻重建怎么做线上推广
  • 做网站阿里云记录值怎么填网盘搜索神器
  • 产品营销类网站cps广告是什么意思
  • 做网站每年要交不费用吗中国搜索引擎
  • 如何做网站稳定客户真正永久免费的建站系统有哪些
  • 新手学做网站这本书成都新闻今日最新消息
  • 单位网站建设情况调查情况深圳关键词seo
  • 网站备案后怎么做实名认证无人在线观看高清视频单曲直播
  • 武昌做网站jw100天津关键词优化平台
  • 做网站配置服务器如何在google上免费推广