什么是记住reactjs中的实例变量的最佳方法

时间:2014-09-24 02:52:30

标签: reactjs

我在react中有一个基本类,当我点击

时会绘制一个矩形
Conq.R.Canvas = React.createClass

  displayName: 'Canvas'

  componentDidMount: ->
    @setState $(@getDOMNode()).offset()

  onMouseDown: (e) ->

    canvas = @getDOMNode()
    context = canvas.getContext('2d')
    context.fillRect e.clientX - @state.left, e.clientY - @state.top, 10, 10

  render: ->

    <canvas onMouseDown={@onMouseDown}></canvas>

工作正常。将offset这样的内容存储在州中是否典型,或者我应该将其设置为this还是将其放入props?什么是惯例,为什么?

不要敲我存储它,如果它没有偏移,它可能是我存储的其他值。我的基本问题是,我在哪里放置仅在实例中使用的局部变量,以及为什么?

1 个答案:

答案 0 :(得分:5)

如果更改它会导致状态/道具:

  • 渲染以输出不同的结果
  • componentWillUpdate表现不同
  • componentDidUpdate表现不同

在这种情况下this.top没问题。