【发布时间】:2022-01-05 00:38:10
【问题描述】:
useEffect 仅在第一次渲染时更新 useState 一次,但如果我刷新页面,我会得到一个空的数据列表。
但是当我在代码中更改某些内容时。第一次刷新时,我会在控制台中看到 useState 所需的数据,但每次刷新时,我只会看到一个空数组。
const [transaction, setTransaction] = useState([])
const [family_group, setFamily_group] = useState([])
const { id } = useParams();
useEffect(() => {
getSingleTransaction()
}
, [id])
const getSingleTransaction = async () => {
const { data } = await axios.get(`/calc/trans/${id}`)
setTransaction(data)
setFamily_group(data['family_group'])
}
console.log(transaction, "isssssss")
console.log(family_group, "igggg")
现在我将看到控制台日志数据
但是一旦我刷新页面,我会得到一个空的数据列表。
提前感谢您的建议。
【问题讨论】:
-
尝试将
id添加到数组中(useEffect中的第二个参数)。, [])=>, [id])
标签: reactjs react-hooks use-effect