javascript - redux如何使用状态
问题描述
我在以下反应 redux 代码上遇到错误:
这个 redux 索引
const AllReducers = combineReducers({
foolow: follow_Reducer,
vacations: vacations_Reducer,
register: register_Reducer,
follows: follows_Reducer,
isLogged: logged_Reducer,
});
这个 redux 减速器
const follows_Reducer = (state = false, action) => {
switch (action.type) {
case 'FOLLOW':
return !state
case 'UNFOLLOW':
return state
default:
return state;
}
}
export default follows_Reducer;
这反应
export default function Vacation() {
const vacations = allvacations();
const classes = useStyles();
const [value, setValue] = React.useState('recents');
const foolow = useSelector(state => state.foolow);
const dispatch = useDispatch()
<BottomNavigation
value={value}
onClick={() => dispatch((foolow))}
onChange={handleChange} className={classes.root}
>
<BottomNavigationAction
label="Follow"
value="Follow"
icon={<FavoriteIcon />}
/>
</BottomNavigation>
}
这给我带来了一个错误
错误:操作必须是普通对象。使用自定义中间件进行异步操作。
解决方案
您以错误的方式调度,调度应该始终是一个对象。试试这个代码。
<BottomNavigation
value={value}
onClick={() => dispatch({ type: 'FOOLOW', payload: foolow })}
onChange={handleChange}
className={classes.root}
/>
之后,您可能还需要对减速器进行一些更改。
推荐阅读
- go - 如何从 map[string]interface{} 编组 XML?
- css - 一个文档中的 CSS 方向和大小
- swift - 连接到 Pusher ChatKit [Swift]
- ios - 如何使用 swift 4.0 阻止子视图控制器周围的压力?
- azure - 使用错误版本的包的 Azure DevOps 构建解决方案
- spring - 无法决定我应该使用哪个 Spring Boot 版本?
- node.js - Socket.io ID 和用户信息安全
- jquery - 显示来自 json 的图像和标题,但消息说无法读取未定义的属性“图像”
- javascript - 使用某些过滤器检索 n 个随机文档 MongoDB
- r - 如何编号唯一对 X,Y