我正在研究一个处于给定情况的项目:
myjson:
{
completeName: "my name is {this.state.myName+ " "+this.state.surname}"
}
component.js
var Component = React.createClass({
getInitialState: function() {
return({
myName: "AKHA",
surname: "HUND"
})
},
render: function() {
return (
<div>{myData.completeName}</div>
)
}
})
但我得到的输出为:
my name is {this.state.myName+ " "+this.state.surname}
代替:
my name is AKHA HUND***
请帮我。
注意:使用ES5。
谢谢
最佳答案
您存储在.json
中的是一个字符串,而不是一个表达式,它不会以任何方式求值,您必须在JS代码中修改模板。
使用ES5,您可以执行以下操作:
.json
{
completeName: "my name is %myName %surname"
}
component.js
var Component= React.createClass({
getInitialState: function(){
return({
myName: "AKHA",
surname: "HUND"
})
},
render: function(){
const result = myData.completeName
.replace("%myName", this.state.myName)
.replace("%surname", this.state.surname);
return (
<div>{ result }</div>
)
}
})
关于javascript - React:将对象显示为可工作的JS格式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40174300/