Tengo 3 componentes:

  1. Árbol
  2. Vista de árbol
  3. TreeNode

en árbol: obtengo datos de la API a través de UseEffect y los envío a TreeView en TreeView. Construyo recursivamente un árbol basado en los datos en jsx y envío cada elemento a TreeNode en TreeNode. Puedo editar el nodo y enviar una solicitud http para cambiar eso

El problema es que los cambios no se mostrarán hasta que actualice la página. ¿Hay alguna manera de llamar a un padre para volver a representar sus componentes secundarios después de una edición exitosa sin actualizar la página?

jeque

es un nuevo contribuyente a este sitio. Tenga cuidado al pedir aclaraciones, comentarios y respuestas. Mira nuestro

Código de Conducta

.

Debe pasar a los niños la función de obtención de datos. Hay un ejemplo

const Tree = props ={amp}gt; {
  const [items, setItems] = useState(defaultState);

  const fetchData = () ={amp}gt; {
    fakeApiFetch().then(data ={amp}gt; setItems(data));
  };

  useEffect(() ={amp}gt; {
    fetchData();
  }, []);

  return (
    {amp}lt;TreeView{amp}gt;
      {items.map(item ={amp}gt; (
        {amp}lt;TreeNode {...item} key={item.id} fetchData={fetchData}{amp}gt;
          //update item ={amp}gt; then call props.fetchData
        {amp}lt;/TreeNode{amp}gt;
      ))}
    {amp}lt;/TreeView{amp}gt;
  );
};