React 提供了一種簡潔的方法,使用屬性擴充表示法透過 JSX 語法將 props 傳遞給元件。
提供的程式碼片段中的三個點或...代表屬性傳播符號。它允許您將物件的屬性分散到目標元素上的各個屬性中。
在範例程式碼中:
<Modal {...this.props} title='Modal heading' animation={false}>
{...this.props} 展開表示法將this.props 的所有可列舉自身屬性展開為Modal 元素上的離散屬性。它相當於單獨寫出每個屬性:
<Modal a={this.props.a} b={this.props.b} c={this.props.c} ... title='Modal heading' animation={false}>
但是,展開表示法根據其展開的物件動態包含或排除屬性。
如果展開的物件包含子屬性,它將包含在展開符號中。這是因為 Children 是 props 物件自己的屬性。因此,放置在組件的開始和結束標記之間的子元素將作為子屬性傳遞給目標元素。
為了示範這一點,請考慮以下範例:
class Example extends React.Component { render() { return ( <div className={this.props.className}> {this.props.children} </div> ); } }
在本例中,Example 元件接收 className 和 Children 屬性。將範例元素與子元素一起傳遞相當於手動設定子元素:
ReactDOM.render( [ <Example className="first"> <span>Child in first</span> </Example>, <Example className="second" children={<span>Child in second</span>} /> ], document.getElementById("root") );
透過利用屬性擴充表示法,React 提供了一種方便且動態的方式,以最小的開銷將多個屬性傳遞給組件。
以上是屬性擴充表示法如何簡化 React JSX 中的 prop 傳遞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!