reactjs - 为什么我不能在 useEffect 中使用 dispatch a thunk?
问题描述
里面thunks.js
export const displayAlert = (text) => () => { alert(`${text}`); }
在另一个文件中
const dispatch = useDispatch();
const example = () => {
useEffect(
()=>{dispatch(displayAlert('Hello'))}
) }
给我看
未捕获的错误:无效的挂钩调用
解决方案
将useDispatch
钩子移动到组件中,并用大写字母重命名(以免触发另一个 lint 警告):
const Example = () => {
const dispatch = useDispatch();
useEffect(() => {
dispatch(displayAlert("Hello"));
});
};
请参阅钩子规则。