使用React.js时,何时何地以及如何向document.body添加类
目前我正在这样做,但这不是react.js的方式,对吗?render()是否正确?有什么选择?
var App = React.createClass({ render: function() {
if (this.state.touchMode === 2) {
$('body').addClass('touchMode');
}
return (<div> etc /div>)
}
)}
回答:
最好将此逻辑保留在组件之外。事件发射器是一种抽象的好方法。
var globalEvents = new EventEmitter();var App = React.createClass({
setTouchMode: function(touchMode){
globalEvents.emit('touchModeChange', touchMode);
},
render: ...
});
// outside any react class
globalEvents.on('touchModeChange', function(mode){
if (mode === 2) {
$('body').addClass('touchMode');
}
else {
$('body').removeClass('touchMode');
}
});
如果确实需要将其作为一个或多个组件状态的一部分,则它们还可以侦听该事件并在处理程序中更新其状态。
以上是 使用React.js时,何时何地以及如何向document.body添加类 的全部内容, 来源链接: utcz.com/qa/425708.html