我试图在设置字符串时拆分它。React 给出错误“TypeError:未定义”,如果我尝试对其应用方法(如 string.split("_"))
但如果我不尝试应用该方法,则字符串会正确显示。锄头可以实现在设置状态之前应用方法吗?
const [data, setData] = useState([]);
const [photoArray, setPhotoArray] = useState([]);
const [photoNum, setPhotoNum] = useState(0);
const [photoName, setPhotoName] = useState("");
useEffect( () => {
const fetchData = async () => {
const result = await axios(
{
url: 'http://localhost:1000',
method: 'GET',
},
);
const result2 = await axios(
{
url: 'https://someurl.com',
method: 'GET'
},
)
setData(result2.data.items)
}
fetchData();
}, []);
useEffect( () => {
setPhotoArray(data.map( photo => photo.name))
},[data])
useEffect( () => {
//This doesn't work
setPhotoName(photoArray[0].split('_').join(' ')
//This works:
// setPhotoName(photoArray[0])
},[photoArray])
另外,我是否正确使用了 useEffect ?(3次,每次等待一个setSate申请另一个)