Qual é o significado de
{...this.props}
Estou tentando usar assim
<div {...this.props}> Content Here </div>
É chamado de atributos de propagação e seu objetivo é facilitar a passagem de adereços.
Vamos imaginar que você tem um componente que aceita um número N de propriedades. Repassá-los pode ser entediante e difícil de controlar se o número aumentar.
<Component x={} y={} z={} />
Assim, em vez de fazer isso, envolva-os em um objeto e use a notação de propagação
var props = { x: 1, y: 1, z:1 };
<Component {...props} />
que irá desempacotar nos adereços em seu componente, ou seja, você "nunca" usa {... props}
dentro de sua render()
função, somente quando você passa os adereços para outro componente. Use seus adereços desempacotados normalmente this.props.x
.
this.transferPropsTo
qual foi descontinuado no React 0.12.xe será removido no 0.13.x. É claro que permite um uso muito mais avançado, no entanto, simplesmente traduzir o React 0.11.x'sthis.transferPropsTo(<Foo />)
para<Foo {...this.props} />
é mais útil para as pessoas que estão fazendo essa transição.É ES6
Spread_operator
eDestructuring_assignment
.É igual a
Class Component
ou
Function component
refs
https://babeljs.io/docs/plugins/transform-object-rest-spread/
https://facebook.github.io/react/docs/components-and-props.html
fonte
Ele irá compilar para:
Como você pode ver acima, ele passa todos os seus adereços para o
div
.fonte
É um recurso ES-6. Isso significa que você extrai todas as propriedades dos adereços em
div.{... }
operador é usado para extrair propriedades de um objeto.
fonte
Você usará adereços em seu componente filho
por exemplo
se seus acessórios agora são
você pode usar esses adereços na sua compoenet infantil
em seu componente filho, você receberá todos os adereços de seus pais.
fonte