首页 > Web开发 > 详细

动态修改JS对象的值及React setState

时间:2018-11-29 21:13:09      阅读:203      评论:0      收藏:0      [点我收藏+]

一、在JS里使用(非ES6)

实现场景: 给一个空对象填充某一指定数组内的值 并随机生成数量

const fruit = [‘apple‘, ‘banana‘, ‘orange‘]
let fruitInfo = {}

fruitInfo = fruit.map(item => {
    return {
      [item]: Math.floor(Math.random() * 10)
    }
})
console.log(fruitInfo)

输出:

[{apple: 2},
{banana: 1},
{orange: 9}]

这里的重点在于返回的时候 通过[]可以成功调用变量的值.

二、React setState的应用

和上面例子同理.利用[]调用变量

class Example extends PureComponent{
    ...
    handleChange = (val, type) => {
        this.setState({
          [type]: val
        },() => {
          console.log(`当前${type}的数量: ${this.state[type]}`)
        })
  }
    ...

    render(){
        ...
        return (
          <Fagement>
            <span>Banana: </span>
                <select onChange={(e) => this.handleChange(e.target.value, ‘banana‘)}>
                  <option value ="1">1</option>
                  <option value ="2">2</option>
                </select><br />
            
            <span>Orange: </span>
                <select onChange={(e) => this.handleChange(e.target.value, ‘orange‘)}>
                  <option value ="1">1</option>
                  <option value ="2">2</option>
                </select>
          </Fagement>
        )
    }
}

我们分别选择第二项的时候看看输出的结果

技术分享图片

输出: .

当前banana的数量: 2
当前orange的数量: 2

动态修改JS对象的值及React setState

原文:https://www.cnblogs.com/soyxiaobi/p/10040829.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!