Em alguns casos, você pode desejar criar um componente que atue como um contêiner para algum outro conteúdo, sem que o componente precise saber qual é esse conteúdo. Para conseguir isso, crie uma prop do tipo Element
:
{{#include ../../../examples/component_element_props.rs:Clickable}}
Então, ao renderizar o componente, você pode passar a saída de cx.render(rsx!(...))
:
{{#include ../../../examples/component_element_props.rs:Clickable_usage}}
Nota: Como
Element<'a>
é uma prop emprestado, não haverá memoização.Atenção: Embora possa compilar, não inclua o mesmo
Element
mais de uma vez no RSX. O comportamento resultante não é especificado.
children
Em vez de passar o RSX
através de uma prop regular, você pode querer aceitar filhos da mesma forma que os elementos podem ter filhos. O prop "mágico" children
permite que você consiga isso:
{{#include ../../../examples/component_children.rs:Clickable}}
Isso torna o uso do componente muito mais simples: basta colocar o RSX
dentro dos colchetes {}
– e não há necessidade de uma chamada render
ou outra macro!
{{#include ../../../examples/component_children.rs:Clickable_usage}}