码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-11-29 21:17:10      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:场景   math   react   es6   png   rand   分享   style   value   

一、在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

标签:场景   math   react   es6   png   rand   分享   style   value   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!