필자는 React를 작성한 이후로 CoffeeScript에 코드를 작성하고 있습니다.
다음은 기본 구조입니다. ReactJS : 하위 구성 요소의 참조에 액세스하는 방법?
{ div, input } = React.DOM
Outer = React.createClass
render: ->
div { id: 'myApp' },
Inner()
Inner = React.createClass
render: ->
input { id: 'myInput', ref: 'myInput' }
나는 바로 가기를 눌러 트리거 내 외부 클래스에
toggle
방법이있다. 그것은 내 애플 리케이션의 가시성을 토글합니다.
내 앱이 숨김에서 표시로 전환되면 입력에 집중하려고합니다.
Outer = React.createClass
render: ->
......
hide: ->
@setState { visible: no }
show: ->
@setState { visible: yes }
$('#myInput').focus() # jQuery
# I want to do something like
# @refs.myInput.getDOMNode().focus()
# But @refs here is empty, it doesn't contain the refs in Inner
toggle: ->
if @state.visible
@hide()
else
@show()
어떻게이 다음합니까 :
이제 토글 방법은 다음과 같이 다소 봐?
자동 초점 나를 위해 작동하지 않습니다. 사실 나는'componentDidUpdate'에 대해서 생각하고 당신이 제안한 것과 비슷한 것을 시도해 보았습니다. 하지만 하위 구성 요소의 참조에 액세스하는 쉬운 방법이 있는지 정말 알고 싶습니다. React Doc에 대한 refs 예제는 입력을 최상위 구성 요소 안에 넣지만 실제로는 입력은 일반적으로 하위 구성 요소 내에 중첩됩니다. – octref
Ref는 정의 된 구성 요소에서만 사용할 수 있습니다. 자녀 컴포넌트가 액세스 할 수 있다면 참조가 다른 참조와 충돌하지 않을 것이라고 가정해야합니다. 심판을 삭제하거나 변경하려면 다른 모든 구성 요소를 확인해야합니다. 이러한 가정과 장소 전체를 보는 것이 가장 좋습니다. – FakeRainBrigand