将对象显示为可工作的JS格式

将对象显示为可工作的JS格式

我正在研究一个处于给定情况的项目:

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/

10-08 23:01