React.jsが間違った部品を子孫値を送信するために小道具を使う超えReact.js:キャッチされない例外RangeError:?最大コールスタックサイズは
const Child = props => <div onClick={ e => console.log(props.value) }>Click to see value.</div>
const Father = props => <div>{ React.cloneElement(props.children, props) }</div>
const GrandFather = props => <div>{ React.cloneElement(props.children, props) }</div>
ReactDOM.render(
<GrandFather value="This is Test">
<Father>
<Child />
</Father>
</GrandFather>,
document.getElementById('root')
)
私は子孫の情報を送信するためにprops
を使用テストするために、前のデモを書きます成分。しかし、それは間違った原因となった:
Uncaught RangeError: Maximum call stack size exceeded at Object.ReactElement.cloneElement
しかし、私はデモがうまく実行した後に書きますので、エラーの原因を教えてください。
const Child = props => <div onClick={ e => console.log(props.value) }>Click to see value.</div>
const Father = props => <div>{ React.cloneElement(props.children, props) }</div>
ReactDOM.render(
<Father value="This is Test">
<Child />
</Father>,
document.getElementById('root')
)
コンポーネントが子コンポーネントを子コンポーネントの1つとして持つ場合、子コンポーネントもJSXにあります。コンポーネントの 'props.children'はあなたが設定する小道具になります。 'React.js'は両方を得るための解決策を提示できますか? – TomIsion
キーは、新しい要素の 'children'である' .cloneElement'の3番目のパラメータです。 – TomIsion