在React Redux中,reducers和actions是组织和管理应用状态的关键部分。下面是一种常见的组织方式:
下面是一个示例代码:
actions/index.js:
export const increment = () => ({
type: 'INCREMENT',
});
export const decrement = () => ({
type: 'DECREMENT',
});
reducers/counter.js:
const initialState = 0;
const counterReducer = (state = initialState, action) => {
switch (action.type) {
case 'INCREMENT':
return state + 1;
case 'DECREMENT':
return state - 1;
default:
return state;
}
};
export default counterReducer;
reducers/index.js:
import { combineReducers } from 'redux';
import counterReducer from './counter';
const rootReducer = combineReducers({
counter: counterReducer,
});
export default rootReducer;
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import { createStore, applyMiddleware } from 'redux';
import { Provider } from 'react-redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers';
import App from './App';
const store = createStore(rootReducer, applyMiddleware(thunk));
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);
在上述示例中,我们创建了一个简单的计数器应用。"actions/index.js"文件中定义了两个action创建函数:increment和decrement。"reducers/counter.js"文件中定义了一个counterReducer函数,根据action的类型对状态进行更新。"reducers/index.js"文件中将counterReducer组合成了一个根reducer。最后,在应用的入口文件中,我们使用Redux的createStore函数创建了一个store,并将根reducer传递给它。
这只是一个简单的示例,实际应用中可能会有更多的reducers和actions。根据应用的复杂程度,可以将reducers和actions进一步细分为不同的模块或文件夹,以便更好地组织和管理代码。
推荐的腾讯云相关产品:腾讯云函数(Serverless Cloud Function),腾讯云数据库(TencentDB),腾讯云对象存储(COS),腾讯云容器服务(TKE)等。你可以在腾讯云官网上找到更多关于这些产品的详细介绍和文档。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云