尝试通过调度方法传递参数时出现此错误。 我是 React Native 和 Redux 的新手。
错误:类型参数 '{ task: string; }' 不可分配给类型为“void”的参数
index.tsx 文件:
import store from "../store/configureStore";
import { addTask, completeTask, removeTask } from "../store/tasks";
export default function Gallery() {
/* store.subscribe(() => {
console.log("Updated", store.getState());
}); */
//console.log(addTask({ task: "Task 1" }));
store.dispatch(addTask({ task: "Task 1" })); // getting error on these dispatch method lines
store.dispatch(addTask({ task: "Task 2" })); //
console.log(store.getState());
store.dispatch(completeTask({ id: 1 })); //
store.dispatch(removeTask({ id: 1 })); //
//store.dispatch(fetchTodo());
console.log(store.getState());
tasks.js 文件:
//Actions
export const addTask = createAction("ADD_TASK");
export const removeTask = createAction("REMOVE_TASK");
export const completeTask = createAction("TASK_COMPLETED");
使用 Redux Thunk 可以工作,但不能与 redux 工具包一起使用。 提前致谢! :)
您正在使用 Typescript,因此您必须输入要传递的操作负载。
示例:
export const addTask = createAction<{ task: string }>("ADD_TASK");
export const removeTask = createAction<{ id: number }>("REMOVE_TASK");
export const completeTask = createAction<{ id: number }>("TASK_COMPLETED");