Jakie jest znaczenie
{...this.props}
Próbuję to wykorzystać w ten sposób
<div {...this.props}> Content Here </div>
Nazywa się to atrybutami rozprzestrzeniania, a jego celem jest ułatwienie przekazywania rekwizytów.
Wyobraźmy sobie, że masz komponent, który przyjmuje liczbę N właściwości. Przekazywanie ich może być żmudne i nieporęczne, jeśli liczba wzrośnie.
<Component x={} y={} z={} />
Zamiast tego zrobisz to, zawiń je w obiekt i użyj notacji rozkładów
var props = { x: 1, y: 1, z:1 };
<Component {...props} />
co rozpakuje go do właściwości w twoim komponencie, tj. „nigdy” nie używasz {... props}
wewnątrz swojej render()
funkcji, tylko wtedy, gdy przekazujesz właściwości do innego komponentu. Używaj rozpakowanych rekwizytów jak zwykle this.props.x
.
this.transferPropsTo
który został wycofany w React 0.12.xi zostanie usunięty w wersji 0.13.x. To oczywiście pozwala na znacznie bardziej zaawansowane wykorzystanie jednak po prostu tłumaczenia React 0.11.x-tychthis.transferPropsTo(<Foo />)
do<Foo {...this.props} />
najbardziej przydatny dla osób wykorzystujących to przejście.To ES6
Spread_operator
iDestructuring_assignment
.To jest równe
Class Component
lub
Function component
refs
https://babeljs.io/docs/plugins/transform-object-rest-spread/
https://facebook.github.io/react/docs/components-and-props.html
źródło
Skompiluje się do tego:
Jak widać powyżej, przekazuje wszystkie swoje rekwizyty do pliku
div
.źródło
Jest to funkcja ES-6. Oznacza to, że wydobywasz wszystkie właściwości rekwizytów w
div.{... }
operator służy do wyodrębniania właściwości obiektu.
źródło
Będziesz używać rekwizytów w komponencie podrzędnym
na przykład
jeśli twoje właściwości teraz komponentu to
możesz użyć tego rekwizytu w swoim dziecięcym kompoenecie
w swoim komponencie potomnym otrzymasz wszystkie rekwizyty dla rodziców.
źródło