2022 React 最速上手指南(四)—— 重构 & React DOM

简介: 2022 React 最速上手指南(四)—— 重构 & React DOM

以结果为导向,写给刚学完前端三剑客和想要了解 React 框架的小伙伴,使得他们能快速上手(省略了历史以及一些不必要的介绍)。



重构


src/App.js 中所有的组件都是用 function 来声明的,我们可以使用 ES6 中新增的箭头函数来简化它们。


  • 举例:


function () { ... }
const () => { ... }
const item => { ... }
const (item) => { ... }
const (item, index) => { ... }
复制代码

声明箭头函数时,如果只有一个参数,可以把括号去掉;但多个参数时,括号是必须的(为了避免麻烦,我们参数统一使用括号)。


  • 实际应用:


const App = () => {
  return (
    <div>
      ...
    </div>
  );
};
const List = () => {
  return (
    <ul>
      {list.map((item) => {
        return (
          <li key={item.objectID}>
            ...
          </li>
        );
      })}
    </ul>
  );
};
复制代码


可以看到 map() 也和其他函数一样可以使用箭头函数简化。

如果一个箭头函数没有执行任何任务,只返回信息,我们也可以去掉 {} 以及 return,函数会自己附上一个隐式的返回声明:


const App = () => (
  <div>
    ...
  </div>
);
const List = () => (
  <ul>
    {list.map((item) => (
      <li key={item.objectID}>
        ...
      </li>
    ))}
  </ul>
);
复制代码


可以看到 JSX 简洁了许多,但你要记住:这是可选的步骤,并不是必须的。

且函数签名和返回语句之间需要引入业务逻辑时,必须要加上 {} 以及 return


React DOM


现在我们已经大概了解了组件的定义,让我们来看看 App 组件的实例化。

打开 src/index.js 文件:


import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);
reportWebVitals();
复制代码


React.StrictMode 是一个用来突出显示应用程序中潜在问题的工具,不用管它。

重点只有这一句:


ReactDOM.render(<App />, document.getElementById("root"));
复制代码


我们用 ReactDOM.render() 函数让 JSX 替换掉 HTML 中的一个 DOM 节点,也就是将 React 集成到了 HTML中。


该方法需要传入两个参数:


  • 首先是要渲染的 JSX,你可以传入一个简单的 JSX,也可以直接传入一个组件的实例,如 <App />
  • 第二个参数指定了 React 应用在何处显示你的 HTML,你可以在 public/index.html 文件中找到这个 id="root" 的元素。


image.png


专栏


因为参加打卡活动是每日更新,所以可能比较短小,可以关注一下 React 入门专栏

在更新完后会整合为一整篇,感谢关注和点赞!

目录
相关文章
|
2月前
|
JavaScript 前端开发 算法
React技术栈-虚拟DOM和DOM diff算法
这篇文章介绍了React技术栈中的虚拟DOM和DOM diff算法,并通过一个实际案例展示了如何使用React组件和状态管理来实现动态更新UI。
36 2
|
3月前
|
JavaScript 前端开发 算法
react中虚拟dom和diff算法
在React中,虚拟DOM(Virtual DOM)和Diff算法是两个核心概念,它们共同工作以提高应用的性能和效率。
36 4
|
2月前
|
JavaScript 前端开发
react学习(3)创建虚拟dom的两种方式
react学习(3)创建虚拟dom的两种方式
166 67
|
20天前
|
JavaScript 前端开发 算法
React 虚拟 DOM 深度解析
【10月更文挑战第5天】本文深入解析了 React 虚拟 DOM 的工作原理,包括其基础概念、优点与缺点,以及 Diff 算法的关键点。同时,分享了常见问题及解决方法,并介绍了作者在代码/项目上的成就和经验,如大型电商平台的前端重构和开源贡献。
38 3
|
2月前
|
XML JavaScript 前端开发
学习react基础(1)_虚拟dom、diff算法、函数和class创建组件
本文介绍了React的核心概念,包括虚拟DOM、Diff算法以及如何通过函数和类创建React组件。
22 2
|
2月前
|
JavaScript 前端开发
react字符串转为dom标签,类似于Vue中的v-html
本文介绍了在React中将字符串转换为DOM标签的方法,类似于Vue中的`v-html`指令,通过使用`dangerouslySetInnerHTML`属性实现。
65 0
react字符串转为dom标签,类似于Vue中的v-html
|
3月前
|
JavaScript 前端开发 容器
React基础入门之虚拟dom【一】
【8月更文挑战第14天】React基础入门之虚拟dom
36 0
React基础入门之虚拟dom【一】
|
20天前
|
前端开发 JavaScript 开发者
深入理解React Hooks:提升前端开发效率的关键
【10月更文挑战第5天】深入理解React Hooks:提升前端开发效率的关键
|
15天前
|
前端开发
深入解析React Hooks:构建高效且可维护的前端应用
本文将带你走进React Hooks的世界,探索这一革新特性如何改变我们构建React组件的方式。通过分析Hooks的核心概念、使用方法和最佳实践,文章旨在帮助你充分利用Hooks来提高开发效率,编写更简洁、更可维护的前端代码。我们将通过实际代码示例,深入了解useState、useEffect等常用Hooks的内部工作原理,并探讨如何自定义Hooks以复用逻辑。
|
20天前
|
前端开发 JavaScript API
探索React Hooks:前端开发的革命性工具
【10月更文挑战第5天】探索React Hooks:前端开发的革命性工具