react hook高阶组件
Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。
一、useState
const [fboList, setFbolist] = useState([]);
const [flowlist, setFlowlist] = useState({
});
//声明变量,定义类型及初始值
//使用setFlowlist()设置值
二、请求数据
1、useEffect
Effect Hook 可以让你在函数组件中执行副作用操作
useEffect Hook 看做 componentDidMount,componentDidUpdate 和 componentWillUnmount 这三个函数的组合。
有时候,我们只想在 React 更新 DOM 之后运行一些额外的代码。比如发送网络请求,手动变更 DOM,记录日志,这些都是常见的无需清除的操作。因为我们在执行完这些操作之后,就可以忽略他们了。这就是为什么在 React class 中,我们把副作用操作放到 componentDidMount 和 componentDidUpdate 函数中。
useEffect(() => {
Service.getFbcList().then(res => {
console.log(res)
});
}, []);
//默认请求一次,如果有依赖[]里的值,当[]里的值有变化时也会再请求
有些副作用可能需要清除,所以需要返回一个函数:
useEffect(() => {
function handleStatusChange(status) {
setIsOnline(status.isOnline);
}
ChatAPI.subscribeToFriendStatus(props.friend.id, handleStatusChange);
return () => {
ChatAPI.unsubscribeFromFriendStatus(props.friend.id, handleStatusChange