我是完全noob反应,所以请忍受我。反应 - 从另一个组件设置组件的属性
我正在创建一个网页,其上有反应组件。我不是使用反应来创建整个页面,这不是一个选项。
我想要的是我想要做的是加载一个json文件并使用数据来设置页面上组件的属性。这些属性在页面渲染后不会改变。
我已经设法加载json并设置组件的属性。我还需要在不是第一个组件的子组件的其他组件中重用此组件的某些属性。
我想基本上我需要创建一个全局的数据集,可以被页面上的任何组件使用。我是从一个角度背景的,所以也许这是扔我送行当然有点
这里是我迄今为止
var ReleaseList=React.createClass({
getInitialState: function(){
return {
allReleases:[]
}
},
showResults :function(ReleaseData){
this.setState({
allReleases :ReleaseData
});
},
getReleases:function(){
fetch('http://imac.local:5757/s0dj8a.json').then(function(response) {
// Convert to JSON
return response.json();
}).then(function(j) {
var ReleaseData=j.releaseDetail[0]
this.showResults(ReleaseData)
}.bind(this));
},
componentDidMount(){
this.getReleases();
},
render:function(){
return (
<h1>{this.state.allReleases.title}</h1>
)
}
});
var ReleaseDataTitle=React.createClass({
render:function(){
return (
<div>
<h2>{this.props.title}</h2>
// This needs to be the same as this.state.allReleases.title in the previous component
</div>
)
}
});
ReactDOM.render(<ReleaseList/>, document.getElementById('content'));
ReactDOM.render(<ReleaseDataTitle title={'I need this to be the same as this.state.allReleases.title in <ReleaseList />'}/>, document.getElementById('banner'));
谢谢,这是完美的。我也要看看Preact :-) – John76