Tengo los siguientes componentes padre e hijo. Quiero ejecutar la función changeBackground cada vez que se hace clic en el button del componente secundario ( <NewQuoteButton /> ), pero no sé cómo pasar esta información al componente principal. Alguien puede ayudarme porfavor?
//parent component class App extends React.Component { constructor(props) { super(props) this.state ={ primary: '', prmaryDark: '' } } changeBackground = () => { let randomNum = Math.floor(Math.random()*backgroundColors.length) this.setState = { primary: backgroundColors[randomNum].main, prmaryDark: backgroundColors[randomNum].dark } } render() { return ( <div className="App"> <QuoteBox /> </div> ); } } //child component export default function QuoteBox() { const [newQuote, setNewQuote] = useState(''); const [author, setAuthor] = useState(''); const fetchRandomQuote = () => { fetch(url) // some method } return ( <div className="QuoteBox" > <Text quoteText={newQuote} author={author} /> <Banner> <Links /> <NewQuoteButton onClick={fetchRandomQuote} className="NewQuoteButton Button" /> </Banner> </div> ); }//parent component class App extends React.Component { constructor(props) { super(props) this.state ={ primary: '', prmaryDark: '' } } changeBackground = () => { let randomNum = Math.floor(Math.random()*backgroundColors.length) this.setState = { primary: backgroundColors[randomNum].main, prmaryDark: backgroundColors[randomNum].dark } } render() { return ( <div className="App"> <QuoteBox handleColorChange={this.changeBackground} /> </div> ); } } //child component export default function QuoteBox(props) { const [newQuote, setNewQuote] = useState(''); const [author, setAuthor] = useState(''); const fetchRandomQuote = () => { props.handleColorChange(); fetch(url) // some method } return ( <div className="QuoteBox" > <Text quoteText={newQuote} author={author} /> <Banner> <Links /> <NewQuoteButton onClick={fetchRandomQuote} className="NewQuoteButton Button" /> </Banner> </div> ); }Si solo desea ejecutar su función changeBackground cuando se hace clic en el botón, llame a la función en su función fetchRandomQuote.