[英]Save and pass data returned from a promise to functional another component in react
const fetchMusic= () => {
return new Promise((resolve) =>
setTimeout(() => {
const music = musicList.sort(() => 0.5 - Math.random()).slice(0, 4);
resolve({ data: music});
}, 300)
);
};
export default fetchMusic;
const getRandomMusic = () => {
return fetchMusic().then((result) => result.data);
};
const Button = (props) => {
return (
<div>
<Button {...props} onClick={getRandomMusic.bind(this)} />
<SomeComponent />
<p>Some text here</p>
</div>
);
};
musicList is an array of objects having name and year. musicList 是一组具有名称和年份的对象。
const musicList = [{ name: 'abc', year:1990 const musicList = [{ 名称:'abc',年份:1990
}, { name:'xyz', year:1989' } ] },{名称:'xyz',年份:1989'}]
I want to save the data returned from getRandomMusic function and pass it to SomeComponent component.我想保存从 getRandomMusic function 返回的数据并将其传递给 SomeComponent 组件。
You could use useState
( doc )您可以使用useState
( doc )
const Button = props => {
const [musicList, setMusicList] = React.useState([])
const getRandomMusic = () => {
fetchMusic().then(result => {
setMusicList(result.data)
})
}
return (
<div>
<Button {...props} onClick={getRandomMusic.bind(this)} />
<SomeComponent musicList={musicList} />
<p>Some text here</p>
</div>
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.