У меня есть базовый класс в react
, который рисует прямоугольник, когда я нажимаюКакой самый лучший способ запомнить переменные экземпляра в reactjs
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
? Что такое конвенция и почему?
Не сбивайте меня за хранение, если оно не было смещено, это может быть другое значение, которое я хранил. Мой основной вопрос: где я могу поместить локальные переменные, которые используются только в экземпляре, и почему?
Как подпункт для «рендеринга для вывода другого результата», я бы добавил, что «зависит от дочернего компонента». В противном случае палец вверх. –
Это был бы другой результат, потому что вы создаете дочерний компонент с различными реквизитами. '' - разные результаты при изменении состояния. – FakeRainBrigand
Не уверен, что я следую? '' также является компонентом, это 'React.DOM.a'. –