反应多页,组件数据传递
React multipages, component data passing
我正在做一个反应应用程序和id,我想知道如何思考多页网站。实际上我正在做一个课程搜索器,我搜索器;我使用 routie 来渲染呈现呈现页面的不同组件。问题是它们不按层次结构关联,因此呈现结果的组件无法访问 ajax 数据。我已经徒劳地尝试使用 js var 数据,但没有 var 数据,但这也不起作用。我读了 https://facebook.github.io/react/tips/communicate-between-components.html但是我不知道如何处理自己的事件系统。如果有人可以说明本文档的最后一段,那么对于在这种情况下的所有人都很好。
var data = {};
var CourseSearcher = React.createClass({
getInitialState: function(){
return {
return { places: '',
branch: 0,
dayOfMonth: '',
timeStart: '',
timeEnd: '',
data: []};
},;
},
handlePlacesChange: function(e){
this.setState({places: e.target.value});
},
handleBranchChange: function(e){
this.setState({branch: e.target.value});
},
handleDayOfMonthChange: function(e){
this.setState({dayOfMonth: e.target.value});
},
handleTimeStartChange: function(e){
this.setState({timeStart: e.target.value});
},
handleTimeEndChange: function(e){
this.setState({timeEnd: e.target.value});
},
handleSubmit: function(e){
// stop the default browser action
e.preventDefault();
// Do an ajax post
$.ajax({
url:'php/results.php',
dataType: 'json',
type: 'GET',
data: {
data: {places: this.state.places,
branch:this.state.branch,
dayOfMonth:this.state.dayOfMonth,
timeStart:this.state.timeStart,
timeEnd:this.state.timeEnd},
},
success: function(data){
this.setState({data: data});
data = this.state.data;
routie('results');
}.bind(this),
error: function (xhr,status,err){
console.error('php/results.php',status,err.toString());
}.bind(this)
});
},
render: function(){
return(
<div>
<form method="get" onSubmit={this.handleSubmit}>
<label>Où?</label>
<input
type="text"
placeholder="Lieux"
value={this.state.places}
onChange={this.handlePlacesChange}
/>
<label>Quoi?</label>
<select value={this.state.branch} onChange={this.handleBranchChange}>
<option>Matière</option>
<option>Français</option>
<option>Anglais</option>
</select>
<label>Quand ?</label>
<input
type="date"
value={this.state.dayOfMonth}
onChange={this.handleDayOfMonthChange}
/>
<input
type="time"
value={this.state.timeStart}
onChange={this.handleTimeStartChange}
/> -
<input
type="time"
value={this.state.timeEnd}
onChange={this.handleTimeEndChange}/>
<button type="submit">Go!</button>
</form>
</div>
);
}
});
console.log(data);
var ResultList = React.createClass({
render: function() {
console.log(data);
return(
<h1>Hello</h1>);
}
);
}
});
var ResultBox = React.createClass({
render: function() {
return (
<div>
<h4>{}</h4>
</div>
);
}
});
routie({
'':function() {
React.render(<CourseSearcher />,
document.getElementById('content'));
},
'results': function() {
React.render(
React.render(<ResultList results={data} />,
document.getElementById('content'));
}
});
使用反应路由器;)做得很好
我已经用反应路由器完成了它,其中组件与一些专用网址相关
相关文章:
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- React-将jSON数据传递给子组件的子组件
- 如何在ReactJs中渲染子组件时重新加载子组件的数据
- 在reactjs组件中预加载数据
- 具有大型数据集的组件仅在 IE11/Edge 上运行缓慢
- 使用数据数组创建多个类似组件
- 如何正确处理依赖ViewChild和Angular 2中可观察到的数据的组件上的更改检测
- Angular2路由-将数据从父组件传递到子组件
- 编辑组件中的Vuejs数据
- 在多个react.js组件中呈现json数据
- 通过使用此组件,检索父类数据
- 如何创建一个组件,我可以设置在 Angular 2 中的属性中获取 URL 数据
- 如何使用Vue.js(使用Vueify)通过组件显示数据
- Vue.js从另一个组件获取数据
- Sencha Touch:如何在setData()之后刷新组件的数据
- 如何更新angular2中组件之间的事件数据
- 如何访问Vue.js中深度嵌套的子组件中的数据
- 将数据传回父组件的ReactJS组件无法工作
- 如何处理需要子组件状态的Meteor数据
- 根据location.hash传递的数据重新呈现ReactJS嵌套的子组件