No entiendo bien este mensaje de error y por ende no soy capaz de resolverlo Al momento del built no me sale ningún en mi consola de vs p...

Brayan Ramirez Alzate

Brayan Ramirez Alzate

Pregunta
studenthace 3 años

No entiendo bien este mensaje de error y por ende no soy capaz de resolverlo

Al momento del built no me sale ningún en mi consola de vs pero en el navegador me sale esto

Screenshot 2022-04-12 182948.png

7 respuestas
para escribir tu comentario
    Brayan Ramirez Alzate

    Brayan Ramirez Alzate

    studenthace 3 años

    Muchas gracias buen hombre

    Juan Castro

    Juan Castro

    teacherhace 3 años

    En el componente ChangeAlert no solo debes retornar algo si se cumple X condicional, sino que también debes tener un else para renderizar algo en el otro caso, incluso si ese otro render del else es un null. :wink:

    Brayan Ramirez Alzate

    Brayan Ramirez Alzate

    studenthace 3 años

    Ahora me sale este error

    Uncaught Error: ChangeAlert(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null. at reconcileChildFibers (react-dom.development.js:14169:1) at reconcileChildren (react-dom.development.js:16990:1) at mountIndeterminateComponent (react-dom.development.js:17890:1) at beginWork (react-dom.development.js:19049:1) at HTMLUnknownElement.callCallback (react-dom.development.js:3945:1) at Object.invokeGuardedCallbackDev (react-dom.development.js:3994:1) at invokeGuardedCallback (react-dom.development.js:4056:1) at beginWork$1 (react-dom.development.js:23964:1) at performUnitOfWork (react-dom.development.js:22776:1) at workLoopSync (react-dom.development.js:22707:1) react-dom.development.js:20085 The above error occurred in the <ChangeAlert> component: at ChangeAlert (http://localhost:3000/curso-intro-react/static/js/bundle.js:540:5) at WrappedComponentWithStorageListener (http://localhost:3000/curso-intro-react/static/js/bundle.js:624:82) at App (http://localhost:3000/curso-intro-react/static/js/bundle.js:279:58) Consider adding an error boundary to your tree to customize error handling behavior. Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries. logCapturedError @ react-dom.development.js:20085 bootstrap:27 Uncaught Error: ChangeAlert(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null. at reconcileChildFibers (react-dom.development.js:14169:1) at reconcileChildren (react-dom.development.js:16990:1) at mountIndeterminateComponent (react-dom.development.js:17890:1) at beginWork (react-dom.development.js:19049:1) at HTMLUnknownElement.callCallback (react-dom.development.js:3945:1) at Object.invokeGuardedCallbackDev (react-dom.development.js:3994:1) at invokeGuardedCallback (react-dom.development.js:4056:1) at beginWork$1 (react-dom.development.js:23964:1) at performUnitOfWork (react-dom.development.js:22776:1) at workLoopSync (react-dom.development.js:22707:1)

    Y asi se ve mi change alert

    import React from "react"; import { withStorageListener } from "./withStorageListener"; function ChangeAlert({ show, toggleShow }) { if (show) { return <p > Hubo cambios < /p>; } } const ChangeAlertWithStorageListener = withStorageListener(ChangeAlert); export { ChangeAlertWithStorageListener };

    .

    import React from "react"; function withStorageListener(WrappedComponent) { return function WrappedComponentWithStorageListener(props) { const [storageChange, setStorageChange] = React.useState(false); return ( < WrappedComponent show = { storageChange } toggleShow = { setStorageChange } /> ); }; } export { withStorageListener };
    Brayan Ramirez Alzate

    Brayan Ramirez Alzate

    studenthace 3 años

    Esos los agrega visual studio de forma medio random, pero voy a intentar

    Juan Castro

    Juan Castro

    teacherhace 3 años

    No estoy seguro si sea por esto, pero ¿podrías probar eliminando los espacios entre los componentes TodoCounter y TodoSearch? Esos que agregas con el

    {" "}
    .

    Brayan Ramirez Alzate

    Brayan Ramirez Alzate

    studenthace 3 años
    <TodoHeader loading = { loading } > < TodoCounter totalTodos = { totalTodos } completedTodos = { completedTodos } />{" "} < TodoSearch searchValue = { searchValue } setSearchValue = { setSearchValue } />{" "} < / TodoHeader >

    y en el componente esta así

    import React from "react"; function TodoHeader({ children, loading }) { return ( < header > { React.Children.toArray(children).map(child => React.cloneElement(child, { loading })) } < / header > ); } export { TodoHeader };```
    Juan Castro

    Juan Castro

    teacherhace 3 años

    El primer error nos indica que estás renderizando una lista, pero que los elementos de la lista no tienen la propiedad key. Todo esto en el componente TodoHeader. ¿Podrías mostrarnos por fa tu componente TodoHeader para ayudarte a encontrar el error?

Curso de React.js: Patrones de Render

Curso de React.js: Patrones de Render

Domina patrones de Render y Composición con React.js. Aprende a implementar render props, high order components y hooks. Mejora tu código y sincroniza aplicaciones en múltiples pestañas optimizando el rendimiento.

Curso de React.js: Patrones de Render
Curso de React.js: Patrones de Render

Curso de React.js: Patrones de Render

Domina patrones de Render y Composición con React.js. Aprende a implementar render props, high order components y hooks. Mejora tu código y sincroniza aplicaciones en múltiples pestañas optimizando el rendimiento.