[英]How does the {…props} syntax pass its properties down to the subcomponent?
使用React-Router,我了解到您可以將路由屬性傳遞給類似這樣的組件:
<Route path="/lyrics/track/:id" render={props => (
<Component {...props} title={"gah"} content={"blabla"} />
</Route>
並以某種方式將props變量的屬性(這是RouteComponentProps
到Component
的this.props
變量中,因此現在在Component
I中可以執行以下操作:
<p>{this.props.title}</p>
<p>{this.props.content}</p>
<p>{this.props.match.params.id}</p>
作為Java的新手,我對{...props}
語法及其工作原理感到困惑。 因為兩個變量都具有相同的名稱,這行得通嗎? 是什么使這些屬性添加到該特定變量中呢?
傳播本身與變量名無關。
在JSX中,您在標簽內部聲明的所有內容都將成為組件的props
對象的屬性。
在這種情況下,您要做的就是從路線中獲取道具,並使用...
spread運算符將其提供給組件,該運算符適用於任何給定的對象。
如果您碰巧有另一個看起來像foobar = { foo: true, bar: false }
,則還可以將該對象傳播到組件props中。
<Component {...props} {...foobar} title={"gah"} content={"blabla"} />
這將導致屬性foo
和bar
在組件props中也可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.