Meteor + React中的条件渲染

时间:2016-04-12 22:56:51

标签: javascript meteor reactjs

我试图在Meter + React中获得一些条件渲染。我只希望显示一个组件,如果从集合返回的项目数=== 0。

我试过了:

renderInputForm () {
if (Tokens.find().count()) return;
return (<TokenForm />);
}

并将{this.renderInputForm()}放在主render()中,但是在隐藏它之前它会闪烁一瞬间......

我知道为什么闪光灯正在发生但是试图避免闪光......

1 个答案:

答案 0 :(得分:0)

您必须等待数据完成同步。闪存就在那里,因为最初的MiniMongo系列是空的。 (另外,您可能希望避免渲染函数中的export const MyComponent = createContainer(() => { let subscription = Meteor.subscribe('something'); if (!subscription.ready()) return {}; return { tokens: Tokens.find().fetch() } }, InternalComponent); 。)

假设您使用Meteor 1.3.x:

props.tokens

然后检查React组件中是否存在class InternalComponent extends React.Component { render() { if (!this.props.tokens || this.props.tokens.length > 0) return; return <TokenForm />; } }

return

在此处了解有关订阅的更多信息:http://docs.meteor.com/#/full/meteor_subscribe