Я начал использовать набор инструментов redux, но когда я пытаюсь отправить действие с аргументами, я получаю предупреждение от IDE:
Тип аргумента {...} нельзя присвоить типу параметра {payload: {...}}
или Недействительное количество аргументов, ожидаемое 2
Думаю, он считает, что государство должно быть первым аргументом.
Есть способ исправить это?
РЕДАКТИРОВАТЬ: я нашел временное решение этой конкретной проблемы. По сути, я переместил эти действия из файла.
Если бы раньше у меня было:
// reducer.js
const state = createSlice({
// ...
reducers: {
handleNumber(state, action){}
}
})
export const { handleNumber } = state.actions
export default state.reduer
Теперь у меня есть:
// reducer.js
export const state = createSlice({
// ...
reducers: {
handleNumber(state, action){}
}
})
export default state.reducer
// actions.js
import { state } from './reducer'
export const { handleNumber } = state.actions
Как сказано в комментарии. Webstorm, похоже, подбирает материал для сопоставления с образцом, если эти имена находятся в одном файле. Но если они находятся в отдельных файлах, он просматривает определение машинописного текста.
Но возникает другая проблема: теперь, когда я нажимаю Ctrl + щелчок по имени функции в actions.js
, вместо перехода к функции он переходит к объявлению типа.