在使用 reactjs.net 渲染服务器端时使用 jQuery:
如果您使用上面的设置将 jQuery 放在 React 的 ComponentDidMount 函数中,答案是部分肯定的。
像这样:
componentDidMount: function(){
if (this.props.userID == 0){
$("#postButton").hide();
}
}
它也适用于其他一些地方,但并非无处不在。在 React 脚本的其他地方,我得到“ReferenceError: $ is not defined”。
这是 reactjs.net 作者自己的一些补充评论。基本上,jQuery 不是为在服务器端工作而设计的,所以最好不要依赖它。
https://groups.google.com/forum/#!topic/reactjs/3y8gfgqJNq4
作为替代方案,例如,如果您想在不使用 jQuery 的情况下控制元素的可见性,您可以创建一个样式,然后根据 If 逻辑分配该样式。然后将样式作为内联属性添加到元素中,如下所示。这在 React 中应该可以正常工作。
var styleComment = {display: 'block'};
if (this.props.commentCount == 0){
styleComment = {display: 'none'}
}
<div style={styleComment}>Count is greater than 0</div>