是否合适(正确的模式),当你需要使用组件的局部变量但感觉道具/状态不合适,因为它不驱动ui,并且作为支柱传递它是笨重的。
所以,我正在做一些运动,所以我的组件需要知道窗口的大小。所以,我只想添加一个var来包含它:
var BoxMove = React.createClass({
displayName: "movable box",
clientWidth: document.documentElement.clientWidth, // this here
getDefaultProps: function() {
// etc..
}
render: function() {
// use the local var
var move = 0;
if(this.clientWidth > 1000) {
move = 100;
}
return (// whatever
)
}
})
这是一个适当的用法和地方来添加一个不适合"状态的变量"或"道具"?我只展示了一种用法,但我可能会调用那个var。
答案 0 :(得分:2)
那应该没问题,是的。处理此问题的另一种方法是,如果您将Flux与React一起使用,则将该信息放入商店。但如果这符合您的需求,您应该好好去。