这对于React Hooks和 useEffect hook 来说是一个很好的例子。根据文档:
你可以把 useEffect Hook 想象成 componentDidMount、componentDidUpdate 和 componentWillUnmount 的组合。
这是一个简单的例子,组件一开始以 prop 数据作为状态,但是一旦 API 调用完成,它就会变为 API 数据:
import React, { useState, useEffect } from "react";
function DataList(props) {
const [users, setUsers] = useState(props.propData);
useEffect(() => {
fetch("https://jsonplaceholder.typicode.com/users")
.then(res => res.json())
.then(data => {
setUsers(data);
});
});
return (
<ul>
{users.map((user, index) => (
<li key={index}>{user.name}</li>
))}
</ul>
);
}
export default DataList;