当本地状态工作正常,但使用Redux时出现问题时,可能有以下几个原因:
import { createStore } from 'redux';
import rootReducer from './reducers'; // 根据你的应用程序结构导入根reducer
const store = createStore(rootReducer); // 创建store
export default store;
确保你正确地将根reducer传递给createStore函数,并将store导出供应用程序使用。
// actions.js
export const incrementCounter = () => {
return {
type: 'INCREMENT_COUNTER'
};
};
// reducers.js
const initialState = {
counter: 0
};
const rootReducer = (state = initialState, action) => {
switch (action.type) {
case 'INCREMENT_COUNTER':
return {
...state,
counter: state.counter + 1
};
default:
return state;
}
};
export default rootReducer;
确保你正确地导入actions和reducers,并在组件中使用它们来更新状态。
import React from 'react';
import { connect } from 'react-redux';
import { incrementCounter } from './actions'; // 导入actions
const Counter = ({ counter, incrementCounter }) => {
return (
Counter: {counter}
);
};
const mapStateToProps = (state) => {
return {
counter: state.counter
};
};
export default connect(mapStateToProps, { incrementCounter })(Counter);
确保你正确地定义mapStateToProps函数来将Redux的状态映射到组件的props,并在connect函数中使用它。
如果你在这些方面都没有问题,但仍然无法正常工作,可以提供更多的代码示例和错误信息,以便更好地帮助你解决问题。
上一篇:本地状态初始化问题:从 @apollo/client (3.0.0-beta.29) 迁移到 @apollo/client (3.0.2) 时,缓存未按预期初始化数据。
下一篇:本地状态可以变量吗?