2016-10-13 4 views
0

나는 this 읽기 :React의 createElement (...)는 어떻게 작동합니까? 소품은 무엇을 위해 사용됩니까?

ReactElement createElement(
    string/ReactClass type, 
    [object props], 
    [children ...] 
) 

는 지정된 형태의 새로운 ReactElement을 만들고 반환합니다. 인수는 html 태그 이름 문자열 (예 : 'div', 'span', 등)이거나 ReactClass (React.createClass를 통해 생성 됨) 일 수 있습니다.

이것은 실제로 어떤 일이 발생하는지 설명하지 않습니다. [object props]. 필요한 이유는 무엇입니까? 그것은 무엇을 위해 사용됩니까?

createElement으로 전화 할 때 누군가 [object props]에 무슨 일이 일어 났는지 설명 할 수 있습니까? 어떻게 사용됩니까? 요소를 렌더링하는 데 사용됩니까? 나중에 변경할 수 있습니까? 그들은 변경 가능하거나 불변인가?

이유 : 나는 how to use scalajs 반응을 알아 내기 위해 노력하고 있습니다.

+1

이 링크는 도움이 될 수 있습니다 : https://facebook.github.io/react/docs/transferring-props.html –

+0

createElement 대신에, ' – KOTIOS

+0

'확장 구성 요소 '? 설명 할거야? 그것은 또 다른 통사론 (설득력있는 것들)이 아닙니까? – jhegedus

답변

2

에 몰래 피크를 제공하는 아래 링크를 체크 아웃 : 나는 "그 시작이라고 생각

https://twitter.com/dan_abramov/status/781620845185732608

(어떻게 반응하는지 - 구현 노트 "abhirathore2006에 게시 됨).

당신은 여기 쿵 볼 수 있습니다 : 예를 들어 http://jsbin.com/qiguyibolu/1/edit?js,output

은 소품에서 일어나는 일 이잖아 :

var node = document.createElement(type); 
Object.keys(props).forEach(propName => { 
    if (propName !== 'children') { 
     node.setAttribute(propName, props[propName]); 
    } 
}); 

을 그들은 노드 속성으로 끝! 따라서 함수 전달 패밀리를 호출 할 때와이를 업데이트하는 방법에 대해 더 자세히 이해하려면 https://facebook.github.io/react/contributing/implementation-notes.html을 읽어 보시기 바랍니다. 얘들은 일들이 두포에서 어떻게 작동 하는지를 잘 설명해주었습니다. 아직 실제로 직접하고 있습니다 :)

관련 문제