P13:Redux进阶-Redux中的无状态组件的改写

本文探讨了如何将React组件改写为无状态组件以提高程序性能。通过删除对Component的继承,仅保留返回JSX部分,并修改props使用,实现了TodoListUI的无状态重构。这样做不仅简化了代码,还提升了运行效率。在Redux的帮助下,无状态组件在现代项目中的应用变得更加容易,推荐尽可能使用无状态组件来优化应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阐述

无状态组件其实就是一个函数,它不用再继承任何的类(class),当然如名字所一样,也不存在state(状态)。因为无状态组件其实就是一个函数(方法),所以它的性能也比普通的React组件要好。

无状态组件的改写

把UI组件改成无状态组件可以提高程序性能,具体来看一下如何编写。

1、首先我们不在需要引入React中的{ Component },删除就好。

2、然后写一个TodoListUI函数,里边只返回JSX的部分就好,这步可以复制。

3、函数传递一个props参数,之后修改里边的所有props,去掉 this

这里给出最后修改好以后的无状态组件代码,这样的效率要高于以前写的普通react组件。

import React from 'react';
import 'antd/dist/antd.css'
import { Input , Button , List } from 'antd'

const TodoListUi = (props)=>{
    return(
        <div style={{margin:'10px'}}>
            <div>
                <Input  
                    style={{ width:'250px', marginRight:'10px'}}
                    onChange={props.changeInputValue}
                    value={props.inputValue}
                />
                <Button 
                    type="primary"
                    onClick={props.clickBtn}
                >增加</Button>
            </div>
            <div style={{margin:'10px',width:'300px'}}>
                <List
                    bordered
                    dataSource={props.list}
                    renderItem={
                        (item,index)=>(
                            <List.Item onClick={()=>{props.deleteItem(index)}}>
                                {item}
                            </List.Item>
                        )
                    }
                />    
            </div>
        </div>
    )

}

export default TodoListUi;

总结

本文主要学习了React中的无状态组件,如果是以前没有Redux的时候,实现分离是比较困难的,但是现在我们做项目,一定想着找个组件是否可以做成无状态组件。

如果能做成无状态组件就尽量作成无状态组件,毕竟性能要高很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知其黑、受其白

喝个咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值