使用包“ react-meteor-data ”的替代方法是什么?我正在使用 ES6 来编写反应组件。在react组件中编写 meteor subscription 的最佳方法是什么,以便在服务器端发生任何变化时重新呈现组件。
答案 0 :(得分:1)
在反应中编写流星订阅的最佳方法是什么 组件,以便在任何更改时重新呈现组件 在服务器端。
最好的方法是使用反应流星数据。这个包有什么问题,让你觉得不使用它?
它甚至允许您将React组件与Meteor分离/分离。这真的很棒,因为当你想要在另一个非Meteor项目中编写一些你想要重用的组件时,你就可以自由地去做。
当然,您可以编写自己的订阅容器以进行反应,但是使用此包,您可以获得所需的所有重要内容以及维护和测试。
如果您在设置订阅容器时遇到问题,可以深入研究这些教程:
答案 1 :(得分:1)
使用react-meteor-data
,首先创建一个HOC容器,该容器订阅数据并将其作为道具传递给组件。
容器:
import { createContainer } from 'meteor/react-meteor-data';
export default FooContainer = createContainer(() => {
// Do all your reactive data access in this method.
// Note that this subscription will get cleaned up when your component is unmounted
var handle = Meteor.subscribe("todoList", this.props.id);
return {
currentUser: Meteor.user(),
listLoading: ! handle.ready(),
tasks: Tasks.find({listId: this.props.id}).fetch(),
};
}, Foo);
组件:
import FooContainer from './FooContainer';
class App extends React.Component {
render() {
return (
<div>
{this.props.currentUser.name}
</div>
)
}
}
export default FooContainer(App);
查看Higher Order Components的React文档,了解容器的工作原理。