1 回答

TA貢獻1839條經(jīng)驗 獲得超15個贊
渲染組件是同步的。如果你想做一些異步的事情,你的組件中需要一個狀態(tài)變量。在第一次渲染時它將是空的,您可能會渲染一些占位符視圖,例如加載微調(diào)器。然后你將開始異步的東西,當(dāng)它完成時你設(shè)置狀態(tài)使其再次呈現(xiàn)。
function NewButton({redirectId}){
const classes = useStyles();
const [someVar, setSomeVar] = useState(null);
useEffect(() => {
indexSearch(redirectId).then(result => {
setSomeVar(result);
})
}, [])
if (!someVar) {
return null;
}
return(
<Link as={`/details/${redirectId}`} href={`/details?objectId=${redirectId}`}>
<a>
<button type="button" className={classes.root}>
{`Learn more about the ${someVar}`}
</button>
</a>
</Link>
)
}
添加回答
舉報