React에서 래퍼 컴포넌트를 사용하려는 시나리오에 직면할 수 있습니다. 하위 구성 요소 그룹을 캡슐화하고 몇 가지 공통 속성을 전달합니다.
한 가지 접근 방식은 React.Children을 사용하여 반복하는 것입니다. 자식을 덮어쓰고 React.cloneElement를 사용하여 새 소품으로 각 요소를 복제합니다. 그러나 이 방법은 잠재적인 코드 취약성으로 인해 권장되지 않습니다.
<br>const Child = ({ childName, sayHello }) => (<br> <button onClick={() => sayHello(childName)}>{childName}</button><br>);</p> <p>function Parent({ children }) {<br> 함수 sayHello(childName) {</p> <pre class="brush:php;toolbar:false">console.log(`Hello from ${childName} the child`);
}
const childrenWithProps = React.Children.map(children, child => {
if (React.isValidElement(child)) { return React.cloneElement(child, { sayHello }); } return child;
});
귀국
function App() {
// 유형 안전성은 낮지만 대안은 더 간단합니다
return (
<Parent> <Child childName="Billy" /> <Child childName="Bob" /> </Parent>
);
}
ReactDOM.render(
속성을 하위에 전달하려면 다음 대안을 고려하세요.
위 내용은 React에서 this.props.children에 소품을 효율적으로 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!