【发布时间】:2020-06-12 19:48:06
【问题描述】:
当我想组合我的 2 个减速器时,我无法获得我的状态。
当我只使用一个减速器时一切正常,但当我尝试使用 combineReducers() 时,我无法再获得我的状态。
const initialState =
{
films: []
}
const filmsReducer = (state = initialState, action) => {
let nextState;
switch (action.type)
{
[...]
default:
return state;
}
}
export default filmsReducer;
const initialState = { checkedCategories: [''] }
const categoriesReducer = (state = initialState, action) => {
let nextState;
switch (action.type) {
[...]
default :
return state;
}
}
export default categoriesReducer;
import { combineReducers } from 'redux';
import films from './films-reducer';
import categories from './categories-reducer';
export default combineReducers({films, categories});
import { createStore } from 'redux';
import rootReducer from '../reducers/index';
export default createStore(rootReducer);
下面是我得到一个未定义的地方
import React, { useEffect, useState } from 'react';
import { useSelector, useDispatch } from 'react-redux';
export const Categories = (props) => {
const [categories, setCategories] = useState([]);
const checkedCategories = useSelector(state => state.checkedCategories)
const dispatch = useDispatch();
const categoryToggle = (category) => {
console.log(checkedCategories);
if (checkedCategories.findIndex(item => item.id === category.id) !== -1)
return (<div>caca</div>)
}
[...]
}
我得到了初始状态和两者的默认返回值。
【问题讨论】:
-
你能说明你在哪里使用它们吗?它在哪里未定义?
-
@BrianThompson 刚刚做了
标签: reactjs redux react-redux