码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • react:值得一看的“react哲学”


            react官网文档中核心概念第12节React哲学一篇,无论你是否使用react进行日常的前端开发工作,只要你是一名前端的开发工作者那就非常值得一看,里面的一些思想值得在日常工作中去应用,相信也会有很多的收获及效率提升。

    一、将页面拆分为多个组件

            将组件当作一种函数或者是对象来考虑,根据单一功能原则来判定组件的范围。也就是说,一个组件原则上只能负责一个功能。如果它需要负责更多的功能,这时候就应该考虑将它拆分成更小的组件。

    二、创建静态版本的页面(两种构建方式)

            先用已有的数据模型渲染一个不包含交互功能的 UI。最好将渲染 UI 和添加交互这两个过程分开。这是因为,编写一个应用的静态版本时,往往要编写大量代码,而不需要考虑太多交互细节;添加交互功能时则要考虑大量细节,而不需要编写太多代码。所以,将这两个过程分开进行更为合适。

            你可以自上而下或者自下而上构建应用:自上而下意味着首先编写层级较高的组件,自下而上意味着从最基本的组件开始编写。当你的应用比较简单时,使用自上而下的方式更方便;对于较为大型的项目来说,自下而上地构建,并同时为低层组件编写测试是更加简单的方式。

    三、为静态版本添加交互行为(数据驱动,react)

    通过问自己以下三个问题,你可以逐个检查相应数据是否属于 state:

    1. 该数据是否是由父组件通过 props 传递而来的?如果是,那它应该不是 state。
    2. 该数据是否随时间的推移而保持不变?如果是,那它应该也不是 state。
    3. 你能否根据其他 state 或 props 计算出该数据的值?如果是,那它也不是 state。

    确定每个state应该存放的位置 

    对于应用中的每一个 state:

    • 找到根据这个 state 进行渲染的所有组件。
    • 找到他们的共同所有者(common owner)组件(在组件层级上高于所有需要该 state 的组件)。
    • 该共同所有者组件或者比它层级更高的组件应该拥有该 state。
    • 如果你找不到一个合适的位置来存放该 state,就可以直接创建一个新的组件来存放该 state,并将这一新组件置于高于共同所有者组件层级的位置。
  • 相关阅读:
    idea实用快捷键(持续更新...)
    刷题记录(NC16692 [NOIP2001]求先序排列,NC204382 中序序列,NC23046 华华教月月做数学)
    Django(ORM事务操作|ORM常见字段类型|ORM常见字段参数|关系字段|Meta元信息)
    博客系统(升级(Spring))(四)(完)基本功能(阅读,修改,添加,删除文章)(附带项目)
    官宣|Apache Flink 1.15 发布公告
    【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
    Android签名查看
    【数据结构】排序(3)—堆排序&归并排序
    网站设计源代码制作素材成品(风景 6页)___内嵌式
    【vue】vue前端、生产(线上)环境请求unicloud云服务空间axios报错
  • 原文地址:https://blog.csdn.net/m0_47135993/article/details/126349897
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号