作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Reactjs
的新手,在试验我的代码时卡住了。我正在使用 math.random
来查找 0-9
之间的值> 并与 valvar
连接以获得多个变量。我想找到相应变量的状态。
这是我的代码。
getInitialState: function(){
return{valvar2:"",valvar3:"",valvar4:"",valvar5:"",valvar6:"",valvar7:"",valvar8:"",valvar9:""}
},
handleClick: function(){
var createVar="";
createVar ="valvar"+Math.floor((Math.random() * 9) + 1);
if(this.state.createVar==""){
this.setState({createVar:"HELLO"})
}
但是这段代码不起作用,我不确定为什么。这只是一个例子,不是我的原始代码。
最佳答案
如果您使用 babel并且不想直接改变你的状态(关于改变状态,see my previous answer here),最简单的方法是使用 computed property names - 将属性名称包裹在方括号中,如 [variable]
:
const n = Math.floor((Math.random() * 3) + 1)
this.setState({
['valvar' + n]: 'hello'
})
您可以在此处查看示例:http://codepen.io/CodinCat/pen/YNjJBb?editors=0011
关于javascript - 如何在 Reactjs 中使用变量改变状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42087049/
我是一名优秀的程序员,十分优秀!