Parece que no puedo hacer que funcione. todo lo que necesito es pasar un solo valor, categoría seleccionada. el error que estoy recibiendo:
No se pueden leer las propiedades de undefined (leyendo 'passSelectedCategory') (en el componente secundario)
Niño:
const CategoryWindow =(props)=> { const categories = ["h", "a", "s", "o"] return ( <div className="categories-div"> {categories.map(category => <button className={"category-btn " + `${category}`} key={category} value={category} onClick={props.passSelectedCategory(selectedCategory)} <---- > <h2>{category}</h2> </button> )} </div> ) }padre:
const Main =()=> { const [showElement, setShowElement] = useState([1][0][0]); const [selectedCategory, setSelectedCategory] = useState(); return ( <> <main className="main"> <div> <div> <CategoryWindow passSelectedCategory={setSelectedCategory} <--- /> </div> ..... <button className={"category-btn " + `${category}`} key={category} value={category} onClick={() => props.passSelectedCategory(category)} > <h2>{category}</h2> </button>Todo en su código es perfecto, solo necesita cambiar su función onClick como mencioné anteriormente.
Intente pasar category como parámetro en props.passSelectedCategory (el componente secundario, CategoryWindow no tiene la visibilidad de la variable selectedCategory )