• RN中的hooks+usememo+usecallback


    react.memo   react.lazy    usememo   usecallback

    父元素更新,子元素不更新,memo,当props发生改变时才去更新子组件

    function Parent() {
        const [count, setCount] = useState(1);
        const [val, setValue] = useState('');
    
        const getNum = useCallback(() => {
            return Array.from({length: count * 100}, (v, i) => i).reduce((a, b) => a+b)
        }, [count])
    
        return <View>
            <Child getNum={getNum} />
            <View>
                <TouchableOpacity onPress={() => setCount(count + 1)}><Text>+1</Text></TouchableOpacity>
                <TextInput value={val} onChangeText={event => setValue(event)}/>
            </View>
        </View>;
    }
    
    const Child = React.memo(function ({ getNum }: any) {
        console.log(getNum)
        return <Text>总和:{getNum()}</Text>
    })
    

      react中lazy api的用法,以及结合Suspense

    const OtherComponent = lazy(() => new Promise(resolve =>
        setTimeout(() =>
            resolve(
                    // 模拟ES Module
                    {
                        // 模拟export default
                        default: function render() {
                            console.log(111)
                            return <Text>Other Component</Text>
                        }
                    }
                ),
            3000
        )
    ));
    function MyComponent() {
        return (
            <View>
                <Text>111111</Text>
                <Suspense
                    fallback=<Text>11111</Text>
                >
                    <OtherComponent />
                </Suspense>
            </View>
        );
    }

     useCallback返回的是一个函数,usemome返回的是一个值

    React.lazy配合 Suspense 使用可达到视图加载效果

    const Foo = React.lazy(() => import('./BBB'));
    <Suspense fallback={<Text>111</Text>}></Suspense>
  • 相关阅读:
    ThinkPHP3.2.3使用分页
    使用phpmailer发送邮件
    字体笔记
    jquery实现上传文件大小类型的验证
    两个矩阵中的dp题的差异
    Linux进程间通信——使用共享内存
    使用管道完成进程间通信(匿名管道pipe、命名管道fifo)
    为什么 C++ 有指针了还要引用?
    实现一个Memcpy函数
    猜帽子颜色问题
  • 原文地址:https://www.cnblogs.com/jingguorui/p/13323461.html
Copyright © 2020-2023  润新知