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

Fun*_*bat 2 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>
Run Code Online (Sandbox Code Playgroud)

它工作正常.存储offset状态是否典型,或者我应该将其设置为this或放入props?什么是惯例,为什么?

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

Bri*_*and 5

它应该是state/props,如果更改它会导致:

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

在这种情况下this.top会没事的.