javascript - 如何在 reactJS 的嵌套状态对象中使用 reduce 函数?

标签 javascript reactjs ecmascript-6

我的状态值是

this.state = {
    content: {
        text: {
            tag1: {
                line: "data1"
            }
            tag2: {
                line: "data2"
            }
        }
    }
}

我如何使用 javascript reduce() 函数来更改 tag1tag2line 的值> 到 "changed text"?

最佳答案

给你:

this.setState(prevState => {
    return {
        content: {
            ...prevState.content,
            text: Object.keys(prevState.content.text).reduce((newTexts, key) => {
                return {
                    ...newTexts,
                    [key]: {
                        line: "changed text"
                    }
                }
            }, {})
        }
    }
});

关于javascript - 如何在 reactJS 的嵌套状态对象中使用 reduce 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56078014/

相关文章:

javascript:如何覆盖某个类的所有实例的方法?

javascript - javascript 中的闭包范围

javascript - 简化条件语句 - 仅在以下情况下将组件包装在工具提示中

javascript - 箭头函数体与返回值。 ()=>{return value;} 与 ()=>value;

javascript - 类型错误 : Ajv is not a constructor when I run npm run build

javascript - 在 react 中将数据从数组加载到选择列表中时出现问题

javascript - CSS 文件导致 react/webpack 配置出错

node.js - Node v6 在对象传播上失败

javascript - NodeJS深度嵌套json比较不区分大小写的键/值对

javascript - JavaScript 中 addEventListener() 方法上下文中的冒泡和捕获