传递JSON字符串以创建标签React.createelement

时间:2018-06-23 11:21:48

标签: json reactjs

我有一个由API创建的JSON字符串:

var appStructure = {
    "code": 200,
    "message": "Register Form Loaded.",
    "response": "'div',{},'Registration'"
};

我想使用API​​ response动态创建元素。我正在尝试做这样的事情:

var testCard1 = React.createElement(appStructure.response);
ReactDOM.render(testCard1, document.getElementById('main-content'));

但是它总是给我错误

  

警告:使用不正确的外壳。将PascalCase用于React组件,或将小写用于HTML元素。   未捕获的DOMException:无法在“文档”上执行“ createElement”:提供的标记名称(“ h1”,{},“ Hello Testing”)不是有效名称。

1 个答案:

答案 0 :(得分:1)

appStructure.response是字符串,不能作为参数传递到createElement方法中。您应该将字符串更改为可接受的参数。此外,testCard1应该在PascalCase中:TestCard1

var args = appStructure.response.split(',');
var TestCard1= React.createElement(args[0].replace(/\W/g, ''), JSON.parse(args[1]), args[2].replace(/\W/g, ''));