как заставить перемонтировать reactNode?
Я пытаюсь сбросить компонент в своих детских реквизитах.
function ActionsMenu({ children }: { children: ReactNode }){
return (
<Dropdown onOpen={ /* trigger remount */ } placeholder="actions ▼">
{children}
</Dropdown>
}
Я мог бы легко сделать это с помощью ReactComponent, например:
function ActionsMenu({ Content }: { Content: ReactComponent }){
const [key, setKey] = useState(0);
return (
<Dropdown onOpen={ () => setKey(x => x+1) } placeholder="actions ▼">
<Content key={key} />
</Dropdown>
}
но это потребует от меня использования этого api:
/* undesired ReactComponent syntax :( */
<ActionsMenu Content={() => <div><Button onClick={...}/><Button onClick={...}/></div>}/>
/* desired ReactNode syntnax :) */
<ActionsMenu>
<div>
<Button onClick={...}/>
<Button onClick={...}/>
</div>
</ActionsMenu>
Как мне перемонтировать
ReactNode
?