У меня есть вопрос. Я написал проверку типа потока для проверки моего редуктора. Произошла ошибка. Вы можете объяснить мне, что является причиной ошибки. Это мой код.
// @flow
import {SET_USER} from "./action-types";
import type {SetUserAction} from "./user-actions"; // export type SetUserAction = (user: User) => Action;
export type State = {
+username: ?string,
+firstName: ?string,
+lastName: ?string,
+email: ?string,
avatar?: ?string,
}
export type Action = SetUserAction;
const initialState: State = {
username: null,
firstName: null,
lastName: null,
email: null,
avatar: null,
};
type Reducer = (state: State, action: Action) => State;
const userReducer:Reducer = (state = initialState, action) => {
switch (action.type) {
case SET_USER:
return {...action.payload};
default:
// (action: empty);
return state;
}
};
export {userReducer};
Это ошибки.
Ошибка ---------------------- -------------------------------------------------- ----- src / redux / User / user-actions. js: 25: 48 Невозможно назначить функцию для setUser
, так как отсутствует подпись вызова, объявляющая ожидаемый параметр / тип возврата в литерал объекта [1], но существует в SetUserAction
[2] в возвращаемом значении. . ЦСИ / перевождь / User / пользовательские действия js: 25: 48 25 | const экспорта setUser: SetUserAction = user => ({тип: SET_USER, полезная нагрузка: пользователь}); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [1] Ссылки: . ЦСИ / перевождь / User / пользовательские действия js: 24: 45 24 | тип экспорта SetUserAction = (пользователь: пользователь) => действие; ^^^^^^ [2] Ошибка ------------------------------------------------- ---------------------------- src / redux / User / user-reducer. js: 26: 20 Невозможно получить action.type
, так как свойство type
отсутствует в статике типа функции [1]. . ЦСИ / перевождь / User / пользователь-редуктор js: 26: 20 26 | switch (action.type) { ^^^^ Ссылки: . ЦСИ / перевождь / User / пользователь-редуктор js: 23: 39 23 | type Reducer = (состояние: состояние, действие: действие) => состояние; ^^^^^^ [1] Ошибка ------------------------------------------------- ---------------------------- src / redux / User / user-reducer. js: 26: 13 Свойство type
отсутствует в статике типа функции [1]. . ЦСИ / перевождь / User / пользователь-редуктор js: 26: 13 26 | switch (action.type) { ^^^^^^^^^^^ Ссылки: . ЦСИ / перевождь / User / пользователь-редуктор js: 23: 39 23 | type Reducer = (состояние: состояние, действие: действие) => состояние; ^^^^^^ [1] Ошибка ------------------------------------------------- ---------------------------- src / redux / User / user-reducer. js: 28: 31 Невозможно получить action.payload
, так как свойство payload
отсутствует в статике типа функции [1]. . ЦСИ / перевождь / User / пользователь-редуктор js: 28: 31 28 | return {... action.payload}; ^^^^^^^ Ссылки: . ЦСИ / перевождь / User / пользователь-редуктор js: 23: 39 23 | type Reducer = (состояние: состояние, действие: действие) => состояние; ^^^^^^ [1]