操作可能没有未定义的“类型”属性。反应?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作可能没有未定义的“类型”属性。反应?相关的知识,希望对你有一定的参考价值。
我收到了这个错误
操作可能没有未定义的“类型”属性。你拼错了吗?
这是我的代码https://codesandbox.io/s/50l75oqnyx
问题是在这一行index.js行号:12
store.dispatch(testAction('StackOverflow'));
我正试图从外面派遣行动
答案
在abc.actions.js
下的返回对象中,您应该返回一个具有属性“type”的对象,然后返回您要执行的操作。但是你不是定义类型你定义action:Actions.SET_IMAGE
正确的方法是type: Actions.SET_IMAGE
。
export function testAction(text) {
console.log(text);
console.log("ddddd");
return {
type: Actions.SET_IMAGE,
text
};
}
另一答案
正如错误所示,您应该在调度type
中没有的操作时指定testAction
属性。将你的action
密钥更改为type
,它会起作用
export function testAction(text) {
console.log(text);
console.log("ddddd");
return {
type: Actions.SET_IMAGE,
text
};
}
另一答案
你在acb.action.js的行动不包含type
export function testAction(text) {
console.log(text);
console.log("ddddd");
return {
action: Actions.SET_IMAGE,
text
};
}
你的减速器将采取payload
(abc.reducer.js第12行)而不是text
,所以你应该改为
export function testAction(text) {
console.log(text);
console.log("ddddd");
return {
type: Actions.SET_IMAGE,
payload: text
};
}
以上是关于操作可能没有未定义的“类型”属性。反应?的主要内容,如果未能解决你的问题,请参考以下文章
反应钩子形式 - 类型错误:无法读取 L 处未定义的属性“拆分”(get.ts:6)
反应和流星“未捕获的类型错误:无法读取未定义的属性'createElement'”
反应 - 未捕获的类型错误:无法读取未定义的属性“toLowerCase”