javascript - 状态未初始化为初始状态
问题描述
我是新来的react-redux
。
现在我有一个类似的对象,
const initialState = {
Low: [
{
id: 0,
technologyId: 0,
technology: '',
level: 'EASY'
}
],
Medium: [
{
id: 0,
technologyId: 0,
technology: '',
level: 'MEDIUM'
}
],
High: [
{
id: 0,
technologyId: 0,
technology: '',
level: 'TOUGH'
}
]
}
Now,
export default function QuizData(state = initialState, action) {
switch (action.type) {
case QUIZ_DATA:
return {
...state,
Low: action.data,
error: false,
}
case RESET_SETUP_QUIZ: {
console.log("intial state is ", ...state);
return {
...state
}
现在,这里发生的是在一些操作之后,这个对象会随着每个键的值而改变。喜欢,
所以,这会改变。
{
Low: [
{
id: 0,
technologyId: 11,
technology: 'xsxs',
level: 'EASY'
}
],
Medium: [
{
id: 0,
technologyId: 22,
technology: 'swwsw',
level: 'MEDIUM'
}
],
High: [
{
id: 0,
technologyId: 110,
technology: 'xsxsx',
level: 'TOUGH'
}
]
}
现在,我想做的是,
当用户单击按钮时,我想将其更改为初始状态。
这样它就不会有任何值,因为它应该与默认值相同。
所以,我试过了
return {
initalState
}
但后来我尝试使用object.assign
.
case QUIZ_DATA:
return Object.assign(
{},
state,
{
Low: action.data,
error: false
}
)
但仍然在这里它只复制第一级变量。
所以,我仍然无法做到这一点。
谁能帮我这个 ?
解决方案
要重置为初始状态,您所要做的就是:
case RESET_SETUP_QUIZ: {
return initialState;
而已。在第一次调用 reducer 函数后,state
将是当前状态,而不是初始状态。
推荐阅读
- java - 侯使用spring data elasticsearch scroll api进行排序
- javascript - 如何在javascript中获取字符串的第一个字母单词
- flask - Flask Gunicorn 共享令牌验证多个工作人员
- javascript - 无法显示验证码图像。获取方形缩略图而不是验证码图像(核心 PHP)
- javascript - 有什么方法可以读取在 JS 中以编程方式打印到控制台的内容?(用于检测)
- javascript - 如何传递反应列表项以作为 onClick 的参数
- python - 在 ctypes 中部分定义 Struct 定义
- javascript - D3 JS条形图,在条形顶部显示y轴标签值
- design-patterns - 没有 dbcontext 时的工作单元模式
- javascript - 如何从给定的外部 url 获取数据 Seesion id 和所有,而不是来自我的应用程序(路由)在 Angular 6