Tengo un componente principal y uno secundario. El padre pasa setState al hijo como accesorios.
<SkillFunc handleChange={this.setState.bind(this)} />Así es como lo usa el niño.
props.handleChange({rating: count});El problema es que hacer esto genera una página en blanco. Nada renderiza, completamente blanco. El error en la consola es (No hay nada arriba):
The above error occurred in the <SkillFunc> component: at SkillFunc (webpack-internal:///./components/common/components/skillFunc.tsx:26:70)En la línea 26,
var _React$useState = react__WEBPACK_IMPORTED_MODULE_1___default().useState({ 0: true, 1: true, 2: true, 3: true, 4: true}),
Pero supongo que significaba esto:
const [ratings, setRatings] = React.useState( { 0: true, 1: true, 2: true, 3: true, 4: true } );Traté de pasar {console.log} como accesorios a SkillFunc y funcionó perfectamente. Solo sucede cuando uso setState. Realmente no sé cómo arreglar esto. Agradecido por cualquier ayuda.
Editar: lo resolví colocando props.handleChange dentro de la función que se llama cuando cambia el estado del componente.
Esa característica se llama estado de elevación, míralo aquí https://codesandbox.io/s/vigilant-poitras-hiv1fi
Además, puedes verlo en React DOCS
avisame si lo conseguiste!!