javascript - react组件这么写和用class写有什么区别?
ringa_lee
ringa_lee 2017-04-11 11:29:53
[JavaScript讨论组]
const TodoList = ({todos, onTodoClick}) => {
    return (
        
    { todos.map (todo => onTodoClick(todo.id)} /> ) }
) };
ringa_lee
ringa_lee

ringa_lee

全部回复(5)
怪我咯

基本没啥区别。用class写的组件可以拥有继承自React.Component的方法,比如render,componentWillMount之类的,函数写的组件没有这些方法,也没有state。如果组件需要在生命周期内做某些事情,那就用class,否则用函数。

PHP中文网

这是无状态组件的写法,比 class 写法拥有更好的性能。这种写法没有 state,不能操控生命周期。如果没有复杂的逻辑,建议用此写法

ringa_lee

无状态组件使用的是纯函数,所以可以根据纯函数的特点来优化,从而提高性能。但是高性能的代价就是不能操控生命周期,组件状态等。

PHP中文网

这样写是无状态的写法,如果只是写一个纯纯只为展示的组件,这样是可以的,如果需要改变其中任何一项,去展示不同的时候,这个方法就不适合了。

巴扎黑

如果只是一个没有 state 的组件的话,这么写和用 class 写其实没差别,可能会比用 class 性能更高,因为没有继承 Component

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号