React.js和Component local vars

时间:2015-07-11 19:17:42

标签: reactjs

是否合适(正确的模式),当你需要使用组件的局部变量但感觉道具/状态不合适,因为它不驱动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。

1 个答案:

答案 0 :(得分:2)

那应该没问题,是的。处理此问题的另一种方法是,如果您将Flux与React一起使用,则将该信息放入商店。但如果这符合您的需求,您应该好好去。