我正在研究React打字稿项目,并尝试设置redux。
目前,我已将减速器分为两部分,并使用combineReducers
进行组合。
奇怪的是,运行我的应用程序时,state
是未定义的(我正在记录this.props
,但没有任何值。
我可以看到这些动作是使用redux-devtools分派的,但是那根本行不通。
如果我将减速器移到索引文件中,一切似乎都可以正常工作。
我无法理解...
请帮助!
我真的尝试了一切!整天都在。如前所述,不使用CombinedReducers可以解决此问题。
Reducer 1
const initState = []
const imageResults = (state = initState, action) => {
switch (action.type) {
case 'SEARCH_IMAGES' :
return [...state, action.payload]
default:
return state;
}
}
export default imageResults;
Reducer 2
const initState = {
term: "initial term"
}
const client = (state = initState, action) => {
console.log(action.payload)
switch (action.type) {
case 'UPDATE_TERM' :
return {
...state,
term: action.payload
}
default:
return state;
}
}
export default client;
组合的减速器文件
import {combineReducers} from 'redux';
import imageResults from './imageResults';
import client from './imageResults';
const reducer = combineReducers({
imageResults: imageResults,
client: client
})
export default reducer;
当应用程序加载时,我希望 {term:“初始术语”,searchImages:ƒ,updateTerm:ƒ}
相反,我得到:{term:未定义,searchImages:ƒ,updateTerm:ƒ}
我的状态也应如下所示:
imageResults:{term: "initial term"}
client(pin): []
但是它看起来像这样: imageResults:[] 客户:[]
答案 0 :(得分:0)
问题在这段代码中:
import imageResults from './imageResults';
import client from './imageResults';
我相信通往客户的道路应该有所不同
import client from './client';
请尝试传递有效的文件名
答案 1 :(得分:0)
也许您输入错误?
import client from './client';