Estoy tratando de corregir este error de pelusa en line const def = (props) => { en el siguiente código de muestra.
const propTypes = { prop1: PropTypes.string, prop2: PropTypes.string, prop3: PropTypes.string, prop4: PropTypes.string, prop5: PropTypes.string, } const abc = (props) => { some code here } const def = (props) => { <div> <div className=" ..some classes..">{abc}</div> <div className=" ..some classes..">{t('translation/something')}</div> <div ...> <someComponent do something /> if (some condition) { do this } else { do that } </div> };¿Alguna idea de por qué recibo este error de pelusa?
No está devolviendo nada, al menos de su fragmento y comentario.
const def = (props) => { <div></div> };
Esto no devuelve nada, está envolviendo el cuerpo de la función de flecha con llaves pero no hay valor de retorno.
const def = (props) => { return (<div></div>); }; O const def = (props) => <div></div>;
Estas dos soluciones, por otro lado, devuelven un componente React válido. Tenga en cuenta también que dentro de su jsx (como lo menciona @Adam) no puede tener if ... else ... sino solo operadores ternarios.
Esperaba una asignación o llamada de función y en su lugar vio una expresión.
Tuve este error similar con este código:
const mapStateToProps = (state) => { players: state }Para corregir todo lo que tenía que hacer era agregar paréntesis alrededor de los corchetes curvos
const mapStateToProps = (state) => ({ players: state });debes devolver algo
en vez de esto (este no es el camino correcto)
const def = (props) => { <div></div> };tratar
const def = (props) => ( <div></div> );o usar declaración de devolución
const def = (props) => { return <div></div> };