react 技术栈学习,相关知识储备

74HC165级联踩坑实录:STM32读取32路开关状态,时序调试与常见问题排查 本文详细介绍了74HC165级联在STM32读取32路开关状态时的时序调试与常见问题排查。从硬件设计的PCB布局优化、电源噪声控制,到软件时序的精确调校和数据采集策略,提供了完整的解决方案。通过逻辑分析仪和示波器的高效使用,解决了信号延迟和干扰问题,最终实现了稳定可靠的32路信号读取。 阅读详情

node 与 cnpm 安装

  • 安装 node 最新版,点击进入下载页面。建议下载【长期维护版本】,而不是【含实验性的最新发布版】。
  • 安装 cnpm,参考官网:淘宝 NPM 镜像

    最直接的方式:npm install -g cnpm --registry=https://registry.npm.taobao.org

编程思想

  • UI=render(data),React 组件扮演的是 render 函数的角色,应该是一个没有副作用的纯函数。
  • 函数式编辑(redux 应用得比较透彻)。
  • 组件化,最大复用。
  • 组件的粒度,需要根据实际需求来灵活处理。
    • 让一个组件只专注做一件事,如果发现一个组件做的事情太多了,就可以把这个组件拆分成多个组件,让每个组件依然只专注做一件事。
    • 是否需要多处执行?
    • 组件化之后,代码是否更具可读性?是否能简化代码逻辑,更易于维护?
    • 是否将来有可能需要多处使用?
    • 是否可以提取到公用模块库?

JSX

  • JSX 描述 DOM 时,所有属性都采用小驼峰写法。
  • JSX 中用 {} 来写 JS 语句。
  • 元素内嵌样式使用对象来描述,样式属性名同样使用小驼峰写法,如 backgroundColor 。
  • 样式,html 中的 class, 在 JSX 中,要写成 className。
  • 事件绑定通过 on + eventType 小驼峰写法。
  • 事件,采用驼峰命名,js 的 onclick 要写成 onClick, js 的 onchange 要写成 onChange。
  • 列表,需要有一个属性 key,值在列表中唯一。
  • 受控组件(及时更新至 state),非受控组件(用 ref)。
  • 高阶组件。

简单的知识梳理

  • class,不是真正的类,只是语法糖。
  • Component class 中的预定义属性:state, props,它们的变化,会触发组件的重新渲染。它们的更新是异步的,是不能直接修改的,state 需要通过 set 方法来修改。
    • prop 是组件的对外接口。
    • state 代表组件的内部状态。
    • 对外用 prop,内部用state。
  • 子组件修改父组件传入的 props 的值,会有副作用,在编码过程中,不允许这个操作。参考《深入浅出React和Redux》,P24-25,【2.2.3 prop 和 state 的对比】章节。
  • 组件的生命周期。类组件才有生命周期方法,函数组件没有生命周期方法。
    • 组件名一定要大写开头。非大写开头,不被当作组件。
    • 参考《深入浅出React和Redux》,P30-34,【2.3.2 更新过程】章节。
    • componentWillReceiveProps(nextProps)
      1. 弄清楚该函数被调用的时机,才能正确的使用它 => 父组件的 render 函数被调用,那么子组件的该函数被调用。
      2. 父组件传入的 props 发生变化,就会先执行这个方法,此方法可以作为 props 传入后,渲染之前 setState 的机会,并且在这个方法中调用的 setState 方法是不会二次渲染的。
      3. 这里说的不会造成第二次的渲染,并不是说这里的 setState 不会生效。在这个方法里调用 setState 会在组件更新完成之后在 render 方法执行之前更新状态,将两次的渲染合并在一起。
      4. 可以在 componentWillReceiveProps 执行 setState,但是如果你想在这个方法里获取 this.state 得到的将会是上一次的状态。
      5. nextProps 并不一定会变化,所以,需要比较 nextProps 和 this.props 来决定是否执行 props 发生变化后的逻辑。
    • componentWillMount
      • 在 render 之前调用。
      • 每一个组件 render 之前立即调用。
      • 可以在服务端被调用,也可以在浏览器端被调用。
      • 不建议在该方法内调用 api 来渲染页面。
    • componentDidMount
      • 在 render 之后调用
      • 所有的子组件都 render 完之后才会调用。
      • 只能在浏览器端被调用,在服务器端使用 react 的时候不会被调用。
      • 推荐在该方法内调用 api 来获取服务器端数据,从而进行页面渲染工作。

propTypes 检查

  • 开发者在代码中定义prop Types,在开发过程中避免犯错,但是在发布产品代码时,用一种自动的方式将 prop Types 去掉,这样最终部署到产品环境的代码就会更优。
  • 现有的 babel-react-optimize 就具有这个功能,可以通过 npm 安装,但是应该确保只在发布产品代码时使用它。

forceUpdate()

  • 默认情况下,当组件的 state 或 props 改变时,组件将重新渲染。
  • 调用 forceUpdate() 会导致组件跳过 shouldComponentUpdate(),直接调用 render()。
  • 这将触发组件的正常生命周期方法,包括每个子组件的 shouldComponentUpdate() 方法。

以下情况,可以手动调用 forceUpdate() 自动触发组件的 render()。

  1. 如果你的 render() 方法依赖于一些其他的数据,你可以告诉 React 组件需要通过调用 forceUpdate() 重新渲染。
  2. 有些变量不在 state上,你又想达到这个变量更新的时候,重新渲染。
  3. state 里的某个变量层次太深,更新的时候没有自动触发 render()。

export, export default 和 import 区别以及用法

这是ES6的语法。ES6 模块主要有两个功能:export 和 import
* export 用于对外输出本模块(一个文件可以理解为一个模块)变量、函数、模块的接口。
* import 用于在一个模块中加载另一个含有 export 接口的变量、函数、模块。

区别及用法

  1. export 与 export default 均可用于导出常量、函数、文件、模块等。
  2. 你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用。
  3. 在一个文件或模块中,export、import可以有多个,export default仅有一个。
  4. 通过 export 方式导出,在导入时要加 {},export default 则不需要。

扩展阅读

  1. react 中文社区文档
  2. Create React App official website,Getting Started

个人学习心得项目地址

关于作者

高速光耦在隔离串口通信中的选型与优化策略 本文深入探讨了高速光耦在隔离串口通信中的关键作用与选型优化策略。针对串口通信中因普通光耦响应慢导致的误码问题,文章详细分析了响应时间、电流传输比、供电电压与隔离耐压等核心选型指标,并对比了6N137、HCPL-0601等主流型号。同时,提供了电路设计、PCB布局的优化技巧及实用的调试指南,旨在帮助工程师实现高速、稳定的隔离串口通信。 阅读详情

相关推荐

怎么在豆包里做生成式引擎优化(GEO)

本文系统介绍了豆包平台生成式引擎优化(GEO)的全套方法体系。文章首先解析了豆包与传统搜索引擎的核心差异,强调其多模态理解和上下文感知特性,并指出GEO需从关键词匹配转向用户意图动态解析。随后详细阐述了GEO优化的三大核心策略:用户意图解析技术、实时内容适配框架和权威信号强化方法,配以技术实现路径和案例说明。最后提出GEO与SEO融合的未来趋势,建议企业构建统一知识库,实现全渠道声誉管理。全文包含大量实操代码和工具链指导,为企业在AI时代的内容优化提供系统解决方案。

解锁AI流量新红利!🚀 GEO优化(生成引擎优化)助您掌控AI搜索,让AI成为您的品牌最佳代言人! 2378

React全家桶(技术栈)

官网中文官网: https://react.docschina.org/介绍描述用于动态构建用户界面的 JavaScript 库(只关注于视图)由Facebook开源React的特点声明式编码组件化编码React Native 编写原生应用高效(优秀的Diffing算法)React高效的原因使用虚拟(virtual)DOM, 不总是直接操作页面真实DOM。DOM Diffing算法, 最小化页面重绘。

Maynor的博客 2727

AI智能体赋能Cypress:自动化前端测试的新范式

自动化测试是现代软件工程保障质量的核心实践,其原理是通过脚本模拟用户操作,对软件功能进行验证。随着大语言模型(LLM)和智能体(Agent)技术的发展,测试自动化正迈向智能化新阶段。智能体能够理解自然语言描述的测试需求,并自主规划、执行测试步骤,这为应对前端UI频繁变更、测试用例维护成本高等挑战提供了新思路。在工程实践中,将Cypress这一流行的前端测试框架封装为智能体可调用的标准化技能(Skill),是实现这一愿景的关键。通过设计清晰的交互协议和状态管理机制,智能体可以像人类测试工程师一样“感知”页面状

weixin_33726318的博客 686

react技术栈

react要点,生命周期,组件传参和基础语法等等。

m0_69674158的博客 2267

电池管理系统(BMS)系列(四)—数据采集之温度

属于BMS系列文章,介绍了电池包温度采集相关方式

zxx52113140的博客 5458

PINN:当深度学习遇上朗伯-比尔定律

光谱数据处理中引入PINN的三种架构设计

qq_53529450的博客 154

react基础技术栈

响应式数据定义在类的state属性中。

yuanmenglxb2004的博客 1435

ZYNQ BRAM实现PS与PL数据交互

有时CPU需要与PL进行小批量的数据交换,可以通过BRAM模块,也就是Block RAM实现此要求。本章通过Zynq的GP Master接口读写PL端的BRAM,实现与PL的交互。在本实验中加入了自定义的FPGA程序,并利用AXI4总线进行配置,通知其何时读写BRAM。以下为本实验原理图,CPU通过AXI BRAM Controller读取BRAM数据,CPU仅配置自定义的PL BRAM Controller 的寄存器,不通过它读写数据。

baidu_34971492的博客 2279

高级前端软件工程师知识整理之React技术栈篇

1.介绍一下JSX? JSX是一种JavaScript的语法扩展,运用于React架构中用来描述用户界面。在这种语法环境下,用大括号表示JSX表达式,表达式里可以是声明的变量、函数。引用样式时,属性名称class要改成className,如: var myDivElement = <div className="foo" />; ReactDOM.render(myDivEle...

@黄小泽的个人博客 2912

杰理接入第三方升级协议OTA教程

本教程介绍了使用dual_bank_updata_api.h接口接入第三方协议进行固件升级的方法。主要内容包括:INI配置要求(需启用双备份并强制4K对齐)、7个核心API接口功能说明及参数详解(初始化、空间检查、数据写入、校验等)、标准升级流程步骤(初始化→检查→写入→校验→引导→清理)。特别强调了4K对齐配置的重要性以避免数据丢失,并提供了被动升级流程图。该方案支持用户自定义协议接入,需严格按照流程调用接口完成升级。

qq_42014563的博客 1430

GEE:本地影像上传到GEE的Assets中,并输入机器学习算法中作为特征变量

当我们在 Google Earth Engine(GEE)中应用机器学习算法时,会输入一些影像作为特征变量数据,进一步根据这些特征影像去推理未知区域的数据。但是 GEE 平台上计算特征变量的 API 函数并不是非常全面,我们希望获得更多的特征用于分类。这个时候,我们可以将本地计算的特征影像上传到 GEE 中进行后续处理。本文记录了从本地上传特征数据到 GEE 的 Assets 中的教程,用于后续在 GEE 中分类或者回归使用。本文也可作为《》一文的补充。

养乐多的博客 1730

react项目实战一 项目相关知识储备

技术栈 前台 react 负责页面的构建 redux 状态管理 react-redux 关联react与redux React-router4 路由管理 antd-mobile 蚂蚁金服前端组件 es6 后台 MongoDB 非关系型数据库 express 请求数据 一、es6 推荐阅读: http://es6.ruanyifeng.com/ 1、let和const let 代替 va...

TH226的专栏 1456

儿童启蒙教育APP

pinyinList.add(createPinyin("a", "啊,像阿姨的阿", R.raw.pinyin_a));pinyinList.add(createPinyin("i", "衣,像衣服的衣", R.raw.pinyin_i));pinyinList.add(createPinyin("u", "乌,像乌鸦的乌", R.raw.pinyin_u));pinyinList.add(createPinyin("ü", "鱼,像小鱼的鱼", R.raw.pinyin_v));-- 固定竖屏 -->

寒寒豆豆软件公司的博客 167

React-Native项目 — 关于IOS知识储备

React-Native项目开发,其实并不是仅仅知道前端的知识,就能把App做好,在某些场景中,我们不得不了解一部分 Ios 相关的知识,比如 Js 与 Native 交互场景,又比如Ios集成微信、支付宝等第三方功能时,我们不得不对react-native项目进行改造。想要实现这些目标,个人觉得就需要提前了解一些 Ios 的基本知识,比如 Cocoapods、比如 object-c 语法、比如Xcode编辑器等等。

程序员老李|前阿里技术专家,10 年前端。 做免费办公工具:图片压缩、PDF、Markdown、在线简历,全在浏览器本地处理。 文件不上传,不用注册。技术栈 Canvas、WebAssembly、Web Worker。 1455

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

React 前置知识储备 笔记

参考b站 李立超老师的视频

sako_77的博客 667

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

React入门 – 1. 学习React的预备知识

本文简要介绍学习和实践React需要具备的知识及技能,已备有兴趣的读者学习借鉴。

jackson_lingua的博客 1384

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

学习 Vue 源码的必要知识储备

学习 Vue 源码的必要知识储备

阳光下的冷静的博客 743

react 技术栈(全家桶)学习

项目地址 托管在 gitee 上的项目链接 https://gitee.com/uncleAndyChen/react-full-stack-learning 托管在 github 上的项目链接 https://github.com/uncleAndyChen/react-full-stack-learning 项目说明 本项目分享个人学习 react 全家桶技术栈的一些经验心得。 学习过...

Where there is a will there is a way 566

如何学习react源码

学习react源码的路径

1056

react 的一些知识储备

一、什么是ant designant design是一款开发和服务于企业级后台的产品。由蚂蚁金服开发,基本上的能想到的页面交互都可以用ant design来实现,大大降低了页面的开发成本。组件部分是ant design最大的亮点,丰富的组件提供了覆盖大部分应用场景的能力。总之,对于一个没有用过其它框架,只使用过几个月的 ant design的人来说是一个 很不错的框架。Ant Design团队也有...

yangchunshang的博客 921

知识点储备1

前端框架的一些基础知识点

TF_ten_years的博客 597

学习 React 前你需要知道些什么

如果你正在看这篇文章,你很可能已经知道 React 是啥了。React 的学习曲线陡峭是众所周知的,很多人在开始学习 React 时都一头雾水,笔者自然也不例外。究其原因,是因为我们在学习 React 的时候,要学的并不仅仅只是 React 这个库本身。React 自身只是一个 JavaScript 编写的 UI 库,但是要用好这个 UI 库,却需要了解许多额外的知识。 本文列举了笔者认为初学者在...

weixin_34214500的博客 1258

1、react 基础学习前言

# react 基础学习前言 ## react 前期知识储备 - javascript 基础知识储备。 - ES6 相关基础知识储备。 - 与是否掌握 Vue 编程无关。 ## react 学习的好处 - 众所周知,小厂使用 vue,大厂使用 react。 - react 的维护团队有点厉害,由 facebook 团队进行维护。 - react 咋国际上的地位相比于 vue 或者是 angular 框架高一些。 - react 更是纯组件开发的代表,即一切皆组件。

“跟他人学,和自己比” 242

2025年创业公司技术栈选择:React与Vue对比

归根结底,React和Vue都是优秀的框架。真正的问题不是哪个更好,而是哪个更适合你的团队、项目以及未来愿景。无论你做出何种选择,确保它能助力你打造出出色的产品。加油!

硅基创想家的博客 3388

【译】你要的 React 面试知识点,都在这了

译者:前端小智 原文:medium.com/bb-tutorial… React是流行的javascript框架之一,在2019年及以后将会更加流行。React于2013年首次发布,多年来广受欢迎。它是一个声明性的、基于组件的、用于构建用户界面的高效javascript库。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 以下是面试前必须了解的话题。 什么是声明式编程...

weixin_34226182的博客 334

5款开源ChatGPT Web项目对比:Vue 3 vs React vs Express 技术栈选型指南

本文深度对比5款开源ChatGPT Web项目,涵盖Vue 3、React与Express等技术栈,提供选型实战指南。从React的ChatGPT-Next-Web到Go+Vue 3的chatgpt-plus,分析各项目架构特点、性能表现及适用场景,帮助开发者根据团队规模和技术储备做出最优选择。

weixin_34111790的博客 404
上一篇: React 技术栈学习,redux 知识点
下一篇: React 项目调试技巧
uncleAndyChen
博客等级 码龄22年 32粉丝 57原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值