一、react函數式組件下標問題
在react函數式組件中,下標參數不能直接在組件中進行修改,因為這會違背react的單向數據流原則,容易引發數據不穩定。可以考慮傳入父組件中的state,通過父組件的state來控制下標的改變。
示例代碼:
const [currentIndex, setCurrentIndex] = useState(0); // 父組件傳入 const changeIndex = () => { setCurrentIndex(currentIndex + 1); } return ( {data[currentIndex].title} )
二、react函數式組件不能繼承
與類組件不同,函數式組件是無法通過extends實現繼承的。這是因為函數組件本身只是一個函數,而不是一個對象。如果需要實現復用代碼,可以考慮使用高階組件或render props等方式。
示例代碼:
// 高階組件
const withLogin = (Component) => {
const isLoggedIn = true; // 可以來自context或redux
return () => {
return isLoggedIn ? :請先登錄
}
}
const Profile = () => {
return 用戶信息原創文章,作者:ORXYV,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/331633.html