在React-Redux应用程序中,非UI数据通常存储在Redux的store中。Redux是一个用于JavaScript应用程序的状态管理库,它提供了一个集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
Redux的核心概念包括:
Redux的状态可以是任何类型的数据,包括但不限于:
任何需要跨组件共享的状态都适合存储在Redux store中,例如:
如果你遇到非UI数据存储的问题,可能是由于以下原因:
useSelector
钩子时,确保选择器函数是纯函数,并且只返回必要的数据,以避免不必要的组件重新渲染。reselect
库创建记忆化选择器来优化性能。以下是一个简单的Redux设置示例:
// actions.js
export const ADD_TODO = 'ADD_TODO';
export const addTodo = (text) => ({
type: ADD_TODO,
payload: text,
});
// reducers.js
import { ADD_TODO } from './actions';
const initialState = {
todos: [],
};
const todoReducer = (state = initialState, action) => {
switch (action.type) {
case ADD_TODO:
return {
...state,
todos: [...state.todos, action.payload],
};
default:
return state;
}
};
export default todoReducer;
// store.js
import { createStore } from 'redux';
import todoReducer from './reducers';
const store = createStore(todoReducer);
export default store;
通过以上信息,你应该能够理解如何在React-Redux应用程序中存储和管理非UI数据。
云+社区技术沙龙[第17期]
DB TALK 技术分享会
DBTalk
云+社区沙龙online [腾讯云中间件]
DB・洞见
企业创新在线学堂
云+社区沙龙online [国产数据库]
Elastic 实战工作坊
领取专属 10元无门槛券
手把手带您无忧上云