我正在使用React和Bacon.js构建一个应用程序。
我有这样的学生名单:
var students = [
{"name": "student1"}
...
];
然后,我使用Bacon.bus构造一个EventStream。
var studentStream = new Bacon.Bus();
students.forEach(studentStream.push.bind(studentStream));
我想做的就是每当我将新数据推送到总线上时,都想用新数据更新视图。
var studentContainer = React.createClass({
getInitialState: function () {
return {students: []};
},
componentWillMount: function () {
// 1: convert this.prop.studentStream to an array so it can be rendered
// 2: Set state to the new array
},
render: function () {
...
}
});
最佳答案
您在这里很近。在您的React组件中,订阅您的事件总线:
componentDidMount: function() {
studentStream.onValue(function(val) {
this.setSate({ students: val });
}.bind(this));
}
无论将什么值推送到studentStream中,都将流入您组件的状态。我还建立了一个用于使用React.js和Bacon.js的小型库:https://www.npmjs.org/package/fluxstream
关于javascript - 将培根流中的所有值组合到单个数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27257780/