Suspense的组件

2022-02-09  本文已影响0人  Fantast_d2be

Suspense的意义

划分页面中需要并发渲染的部分,用同步的代码解决异步问题

目前已支持场景

Suspense的实现

通过promise状态实现

class Suspense extends React.Component { 
    state = { promise: null } 
    componentDidCatch(e) { 
        if (e instanceof Promise) { 
            this.setState(
            { promise: e }, () => { 
                e.then(() => { 
                    this.setState({ promise: null }) 
                }) 
            }) 
        } 
    } 
    render() { 
        const { fallback, children } = this.props 
        const { promise } = this.state 
        return <> 
            { promise ? fallback : children } 
        </> 
    } 
}
上一篇 下一篇

猜你喜欢

热点阅读