1.dispatch、dev派发
src/models/formStatus.js:
const FromStatusModel = {namespace: "fromStatus",state: {isDisable: false,},reducers: {saveIsDisable(state, { payload }) {return {...state,...payload,};},},
};export default FromStatusModel;
改变和提交的js文件写法:
import { useDispatch, useSelector } from 'umi';const dispatch = useDispatch();
const { isDisable } = useSelector((state) => state.formStatus);const onclick = () => {dispatch({type: 'formStatus/saveIsDisabled',payload: { isDisable: isDisable === true ? false : true },});
};<Button type="primary" onclick={onclick()}>dev派发
</Button>
<div>是否可以传递{isDisable}</div>
通过useSelector进行传值,通过dispatch进行改变内容。
在 React 和 Redux 的上下文中,"dispatch" 是一个核心概念,它指的是派发(发送)一个 action,这是一个告诉 Redux store 如何更新状态的普通 JavaScript 对象。在 Redux 中,dispatch 是由 Redux 提供的一个 action 派发器(action dispatcher)。
当你在 Redux 应用中派发一个 action 时,Redux store 会根据这个 action 中的信息来更新其状态。这个过程通常是通过 dispatch 一个由 actionCreator
返回的 action 来完成的。
// 假设有一个 actionCreator 函数
function addTodo(text) {return {type: 'ADD_TODO',payload: text};
}// 在一个组件中,你可能会这样使用 dispatch
const dispatch = useDispatch();function handleClick() {dispatch(addTodo('Learn UMI'));
}
在这个例子中,addTodo
是一个 actionCreator,它返回一个 action 对象。当 handleClick
函数被调用时,它 dispatch 这个 action,导致 Redux store 更新。
在开发过程中,你可能会使用如下的做法来派发 action:
// 使用 Redux 的 actionCreator 创建一个 action
const action = addTodo('Learn UMI');// 派发 action
dispatch(action);
如果你是在寻找如何在 React 应用中使用 Redux 的 dispatch 方法,那么关键是要确保你有一个 Redux store(通过 Provider
组件提供给你的应用),并且你的组件是通过 useDispatch
钩子来获取 dispatch 函数的。