在多个react.js组件中呈现json数据
Rendering json data in multiple react.js components
我想从json文件中获取一些值,并将它们呈现在多个组件中。此代码似乎不起作用。请提出任何更改建议。范围可能存在一些问题。
var App = React.createClass({
getInitialState: function(){
return { myData: [] }
},
showResults: function(response){
this.setState(
{myData: response}
)
},
loadData: function(URL) {
$.ajax({
type: 'GET',
dataType: 'jsonp',
url: URL,
success: function(response){
this.showResults(response)
}.bind(this)
})
},
render: function(){
this.loadData("fileLocation/sample.json");
return(
<div>
{myData.key1}
<Component1 value={myData.key2} />
<Component2 value={myData.array[0].key3}/>
</div>
)
}
});
var Component1 = React.createClass({
render: function () {
return(
<div>{this.props.value}</div>
)
}
});
var Component2 = React.createClass({
render: function () {
return(
<div>{this.props.value}</div>
)
}
});
ReactDOM.render(<App/>, document.getElementById('content'));
这是我试图从中获取的sample.json文件。即使这样也显示了语法错误
{
key1:"value1",
key2:"value2",
array: [
{key3:"value3"},
{key4:"value4"}
]
}
在loadData
[1]:处正确调用showResults
var App = React.createClass({
getInitialState: function(){
return { myData: [] };
},
showResults: function(response){
this.setState({
myData: response
});
},
loadData: function(URL) {
var that = this;
$.ajax({
type: 'GET',
dataType: 'json',
url: URL,
success: function(response){
that.showResults(response);
}
})
},
将loadData
从render
移动到componentDidMount
[2],并正确访问myData
[3]:
componentDidMount: function() {
this.loadData("fileLocation/sample.json");
},
render: function(){
return(
<div>
{this.state.myData.key1}
<Component1 value={this.state.myData.key2} />
<Component2 value={this.state.myData.array[0].key3}/>
</div>
)
}
});
保持Component1
和Component2
原样:
var Component1 = React.createClass({
render: function () {
return(
<div>{this.props.value}</div>
)
}
});
var Component2 = React.createClass({
render: function () {
return(
<div>{this.props.value}</div>
)
}
});
ReactDOM.render(<App/>, document.getElementById('content'));
相关文章:
- 如何将JSON数据导入我的ejs模板
- 如何将json数据显示为html
- Json数据包含日期和时间格式
- 用我的json数据填充JQuery DataTable
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 使用jquery读取Json数据
- 如何将本地json数据加载到Extjs数据模型中
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- React-将jSON数据传递给子组件的子组件
- 尝试从控制器加载带有json数据的Simile时间线
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 如何通过数据分组将json数据转换为嵌套的json数据格式
- 如何在ReactJs中显示Json数据
- 使用javascript进行JSON数据检索
- tu如何将id放在填充了json数据的html表td上
- 将JSON数据从服务器加载到knockout.jsobservable中
- 使用JavaScript处理JSON数据
- 如何将json数据传递到.js文件
- 如何在带有nunjucks和gullow数据的JSON数据中使用带有HTML的内容
- 如何使用var名称调用JSON数据