javascript - 在 React 中,构造函数(props)中设置的值可以被覆盖吗?如果不是,如何设置可写默认值?

标签 javascript reactjs

很确定我知道这个问题的答案,因为我的 setState({})确实什么也没做。

这是我拥有的构造函数:

constructor(props) {
    super(props);
    this.state = {
        percentiles: {
            incN: 'n',
            incP1: 10,
            incP2: 25,
            incP3: 50,
            incMean: 'Mean',
            incP4: 75,
            incP5: 90,
            coN: 'n',
            coP1: 50,
            coMean: 'Mean'
        }
    }
}

后来我尝试做类似的事情:

handleClick(e) {
    this.setState({
        incN: e.target.id
    })
}

哪里e.target.id = 5并且它不会从 10 改变,所以我很确定如果在 constructor(props) 中分配它就不能被覆盖.

那么我应该把默认值放在哪里可以被覆盖?在 render()也许?

最佳答案

incN 是百分位数的属性,因此您需要执行以下操作:

this.setState({
    percentiles: {
        ...this.state.percentiles,
        incN: e.target.id
    }
});

关于javascript - 在 React 中,构造函数(props)中设置的值可以被覆盖吗?如果不是,如何设置可写默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48675677/

相关文章:

javascript - 当按键 "pressed"时,捕获 HTML 按钮上的 mousedown 事件

javascript - 三个 JS 圆柱体纹理失真

node.js - react 应用程序的状态与我数据库中的状态不一致?

javascript - 将 props 传递给 React Router 4 中的组件

javascript - Bootstrap Popover 隐藏在浏览器边缘。如何解决呢?

javascript - 如何让 jQuery 验证允许数字包含破折号

javascript - 我不知道如何在 sequelize (Mac) 中使用 POST 方法

reactjs - 如何增强apollo客户端的响应能力并仅响应一次

javascript - Flux/Alt 数据依赖,如何优雅地道地处理

javascript - 关于在 React 中使用 ES6 类