2
의 구성 요소를 여러 개 관리하고 일부 소품을 부착하는 React 구성 요소가 있습니다. 는 지금까지,이React : React 구성 요소에만 소품을 추가하고 (React.Children.map 재귀 적으로)
<Form>
<FieldText/>
<FieldDropdown />
</Form>
처럼 단순한 양식을 작성하지만 지금, 나는이에 Field
에 소품을 추가 간단한 양식은이
<Form>
<div>
<a data-tab="first">First Tab</a>
<a data-tab="second">Second Tab</a>
</div>
<div data-tab="first">
<FieldText />
</div>
<div data-tab="second">
<FieldText />
</div>
</Form>
같은 더 복잡한 구조의 형태가 필요합니다 방법
var Form = React.createClass({
render: function(){
<form onSubmit={this.submit} acceptCharset="UTF-8" ref={cForm.id}>
{
React.Children.map(this.props.children, child => {
// if type is funtion the is a react component
if(typeof child.type === "function"){
return React.cloneElement(child, {
attachToForm: this.attachToForm,
disabled: this.props.disabled
});
} else {
return child;
}
})
}
</form>
}
});
난 단지
Field
의 구성 요소에 몇 가지 소품을 추가
Form
을 수정하는 방법
하지 html 태그? 등 "범위", "DIV"
로 문자열을
사실, 아이가 기능인지 아닌지를 결정하기 위해 'child.type'을 사용했습니다. html 태그를 내부 양식에 추가하는 재귀 메서드를 만드는 방법을 알아낼 수없고 필드가 다른 html 태그 안에있는 경우에만 새 소품을 추가 할 수 있습니다. – Webman
"알았 으면"다음을 다시 고려해야합니다. 귀하의 질문에 대한 말씨 - 마지막 줄은 어떻게 구성 요소와 html 요소의 차이점을 말할 수 있는지 묻습니다. 그것은 재귀 적으로 DOM 트리를 걷는 것에 대해서는 아무 것도 말하지 않습니다. – Chris
미안하지만 내 영어가 나쁘기 때문에 나 자신을 설명하기가 더 어렵습니다. 예를 들어, 마지막 div 안에 'Foo'를 넣으면 'Foo'가 빨간색이되고 파란색이 아닙니다. 이것은 내 이슈입니다 – Webman