人。
我制作项目,我们有标签,就像浏览器一样。每个选项卡都包含具有不同设置和这些搜索结果的用户搜索。我找不到存储这些数据的正确方法。
我想,我需要几家商店。因为我只有选项卡可以在一种不同的应用程序之间切换用户,但在一个应用程序内部。在其他情况下,我需要存储两次数据 - 记住当前状态,并在一些历史记录中收集旧搜索。减速器。
对不起,这是我在这里的第一次体验,如果有人可以,请帮助。
答案 0 :(得分:1)
您可以创建包含变量及其值的多个数据类。然后,可以在创建商店时合并使用这些数据类。
此方法允许您在商店中拥有多个部分,并且每个组件都可以订阅他们需要的部分。组件将拥有他订阅的这些部分的数据,并在更新其中一个部分时重新呈现。
数据类的示例:
pageData.js
export const pageData = {
pageNumber: 1,
pageSize: 30,
};
userData.js
export const userData = {
language: 'English',
timezone: 'ESTERN',
};
然后在创建商店时合并这些类:
store.js
import pageData from .../pageData;
import userData from .../userData;
const defaultState = {
pageData,
userData,
};
export const store = createStore(rootReducer, defaultState));
您需要修改pageData
的reducer也需要具有名称pageData
。同样适用于userData
。
完成所有这些操作后,您必须mapStateToProps()
将您的组件添加到您希望他们订阅的数据中。
例如,如果您希望PageComponent.js
只知道 pageData ,那么在该组件中,您将使用以下方法:
function mapStateToProps (state) {
return {
pageData: state.pageData
};
}
我建议您查看redux documentation以了解如何设置 mapStateToProps()。
完成所有这些操作后,您可以console.log(this.props)
看到您的数据部分在那里并且分开。