나는 2 주 동안 React와 놀았으므로 나는 전문가와 거리가 멀다. 이것이 문제입니다. 저는 자녀들을 배치하는 구성 요소를 만들고 있습니다.구성 요소는 어떻게 자녀의 레이아웃을 수행 할 수 있습니까?
var SomeComponent = React.createClass({
render: function() {
return (
<Layout>
<...child 1/>
<...child 2/>
...
</Layout>
);
}
});
음, 레이아웃 아이들을 소유하지 않기 때문에 자신의 소품을 수정할 수 없습니다 : 그건 Layout
가 같이 사용할 수있다. 그들은 심판을 포함 할 수 있으므로 어린이를 복제 할 수도 없습니다. 레이아웃을 사용하여 각 자식을 (제대로 배치 된) div로 래핑 할 수 있습니까? 심판을 가지고있는 아이가 SomeComponent 심판을 정확히 갱신 할 수 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?
나는 부모 - 자식 의사 소통의 일반적인 문제에 대해 조금 더 생각했으며 이전보다 훨씬 혼란 스럽다. 설명서 상태 :
우리가 찾을 : 이"부모 - 자식 통신의 경우 단순히 소품 전달" 문서의 관련 부분에서
"에서 반응, 소유자가 다른 구성 요소의 소품을 설정하는 구성 요소입니다."
그래서 무엇을 제공합니까? 내게는 부모가 아닌 소유자 만이 소품을 설정할 수 있다고 생각합니다.
이 내용은 여러 게시물에서 논의되었지만 만족스러운 답을 찾지 못했습니다. 일부 답변은 부모님의 자녀 복제를 제안하지만, 원래 소유자가 자신의 "소유주"에서 ref 소품을 설정하면 문제가 발생합니다. 위의 예에서 SomeComponent는 Layout으로 전달 된 구성 요소를 자식으로 소유합니다. 레이아웃에서 자식을 복제하면 (콜백을 추가하기 위해) 레이아웃이 복제본의 소유자가되어 SomeComponent 참조가 가져 오지 못합니다.
나는 완전히 혼란 스럽다.
더 많은 문맥을 제공 할 수 있습니까? 여기서 뭘하려고하는지 불분명합니다. – FakeRainBrigand
간단히 말해서, 저는 아이들에게 소품 (콜백)을 전달하고 싶습니다. 복제하지 않으면 refs 메커니즘이 손상 될 수 있습니다. – Eduardo
네,하지만 실제 목표는 무엇입니까? 어떤 문제를 해결하려고합니까? 왜 ''을 할 때 콜백을 소품으로 전달할 수 없습니까? –
FakeRainBrigand