首页 > 其他分享 >React的使用笔记1 React 项目的创建与JSX基础知识

React的使用笔记1 React 项目的创建与JSX基础知识

时间:2024-12-19 16:35:49浏览次数:8  
标签:function name 功德 js React 基础知识 JSX

时间久远,工作中没有遇到react的情况,早就忘记React怎么写了~回顾一下吧。

  1. React项目的搭建
npx creat-react-app app-name
  1. React项目的运行
    具体可以参考README中的说明,没有特殊的情况下,直接
npm start
  1. 删除项目src目录中不必要的代码先,仅保留入口文件即可,即App.js与index.js,当然这两个文件中对应的多余代码也需要删除~ 删除完仍然可以正常运行即可~

接下来了解一下啥是JSX咯~
JSX是Js和xml(html)的缩写,表示在js代码中编写html模版结构,是React中编写UI模版的方式。
为啥要这样搞呢,其实就是既想使用html的声明式模版写法,又想享受js的可编程能力,如下图

这种独特的自创写法并不是标准的js语法,而是一种js的语法拓展,因此浏览器本身无法识别,咱们需要通过解析工具做解析才能正常运行~

可以去Babeljs.io 官网去康康测测~

JSX基础

1. JSX中使用js表达式
在JSX中可以通过大括号语法{}识别js中的表达式,如:常见的变量,函数调用,方法调用等。tips:if语句、switch语句、变量声明属于语句,不是表达式,因此不是在{}中使用~
demo:
1)使用js变量
2)使用js变量
3)函数调用与方法调用
4)使用js对象

2.JSX中实现列表渲染
1)先声明一个列表
2)然后map渲染,循环什么结构就return什么结构
3)配置独一无二的key,避免报错提示(提升列表更新渲染性能,diff算法~)

const list =[
  {name:'Jane',id:'0001',gender:"female"},
  {name:'Joy',id:'0002',gender:"male"},
  {name:'Josie',id:'0003',gender:"female"},
  {name:'Jay',id:'0004',gender:"male"}
]
function App() {
  return (
    <div className="App">
      <ul>{list.map(item=><li key={item.id}>{item.name},{item.gender}</li>)}</ul>
    </div>
  );
}

3.JSX中实现条件渲染
1)通过逻辑 &&
这里需要注意书写的位置~判断条件需要写在前面

const type = true;
function App() {
  return (
    <div className="App">
      {/* 通过逻辑 && */}
      <div>{type && "jack"}</div>
    </div>
  );
}

export default App;

结果为Jack。

2)通过三元运算

const type = true;
function App() {
  return (
    <div className="App">
      {/* 通过三元运算 */}
      <div>
        {"is she good at playing piano?"}{" "}
        {type ? <span>{"yes"}</span> : <span>{"no"}</span>}
      </div>
    </div>
  );
}

export default App;

结果为 is she good at playing piano? yes

4. JSX中实现复杂条件渲染
1)直接封装一个函数,函数里面放置不同的结构进行返回
2)

5. JSX中实现事件绑定
1)不带参数写法

<div>
    <button onClick={handleClickBtn}>点击功德+1</button>
 </div>

2)获取event事件参数

<div>
    <button onClick={(e) => handleClickBtn2(e)}>功德+1</button>
</div>
  1. 传递自定义参数
{/* 变成自调用函数,且后续点击无反应 */}
 <button onClick={handleClickBtn3("yeah!")}>功德+2</button>
{/* 正常点击后触发 */}
<button onClick={() => handleClickBtn3("yeah!")}>功德+3</button>

4)既要获取event事件参数又要自定义参数

 <button onClick={(e) => handleClickBtn4("yeah!", e)}>功德+5</button>

function handleClickBtn() {
  console.log("施主,功德圆满!");
}
function handleClickBtn2(e) {
  console.log("施主,功德++", e);
}
function handleClickBtn3(val) {
  console.log("施主,功德+2", val);
}
function handleClickBtn4(val, e) {
  console.log("施主,功德+5", val, e);
}

标签:function,name,功德,js,React,基础知识,JSX
From: https://www.cnblogs.com/jocelyn11/p/18615483

相关文章

  • EasyPlayer.js视频流媒体播放器在React项目中应如何使用?
    H5流媒体播放器,作为基于HTML5技术的创新产品,近年来在音频和视频播放领域取得了显著的发展。它不仅为用户提供了流畅、稳定的播放体验,还通过丰富的交互功能增强了用户的参与感。那么在实际应用时,在React项目中应如何使用EasyPlayer播放器呢?1、在官网下载播放器压缩包。2、解压......
  • python基础知识(五)
    文章目录错误和异常异常处理try...excepttry/except...elsetry-finally语句抛出异常自定义异常面向对象类定义构造方法及self的使用initself继承类的属性和方法类的私有属性类的方法类的私有方法运算符重载命名空间与作用域命名空间作用域全局变量和局部变量globa......
  • Java基础知识
    Java基础01.注释注释不会被执行!书写注释是一个非常好的习惯!!!平时写代码一定要注意规范!!Java中的注释有三种:单行注释多行注释文档注释具体操作代码如下:publicclassHelloWorld{publicstaticvoidmain(String[]args){//单行注释:只能注释一行文字......
  • 有了React 19新编译器,真的就没有性能问题了吗?
    有了React19新编译器,真的就没有性能问题了吗?原文链接:HowReactCompilerPerformsonRealCode作者:Adevnadia译者:倔强青铜三前言大家好,我是倔强青铜三。我是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信......
  • Redux:React状态管理工具详解
    Redux是React最常用的集中状态管理工具,类似于Vue中的Pinia(Vuex),可以独立于框架运行作用:通过集中管理的方式管理应用的状态目录一、Redux快速体验二、Redux与React-环境准备1、配套工具2、配置基础环境3、store目录结构设计三、Redux与React-实现counter1、为Reac......
  • react学习
    React应用程序是由组件组成的。一个组件是UI(用户界面)的一部分,它拥有自己的逻辑和外观。组件可以小到一个按钮,也可以大到整个页面。React.Fragment和<></><></>其实是React.Fragment的语法糖,它们两个都可以用来对元素进行分组,渲染成HTML后不会增加额外的标签jsx......
  • React 合成事件
    1.什么是React合成事件?React使用SyntheticEvent对原生事件进行封装,使得所有事件在不同浏览器中都具有相同的行为。这种封装提供了一致性和性能优化,开发者可以像使用原生事件一样使用React合成事件。2.React合成事件的特性1. 跨浏览器兼容性React的SyntheticEven......
  • 基础知识
    基础知识‍‍​​图中深色的部分,其实它就是SpringCloud标准,一共有3层。中间颜色最深的部分就是及整个微服务最核心的内容,包括了“RPC调用”以及“服务注册与发现”。第二层,也就是围绕着核心的这一圈,是一些辅助微服务更好的工作功能,包括了负载均衡、路由、网关、断路......
  • React 工具和库面试题(一)
    1.如何在React项目中使用Hooks从服务端获取数据?在React中,我们通常使用useEffectHook来进行副作用操作,比如从服务端获取数据,结合useState来管理数据状态。基本步骤:使用useEffect来执行异步操作(如fetch或axios请求)。使用useState来存储数据。使用asyn......
  • React工具和库面试题目(二)
    1.使用Webpack打包React项目时,如何减小生成的JavaScript文件大小?为了减小生成的JavaScript文件大小,可以采取以下几种策略:1.1代码分割(CodeSplitting)Webpack支持通过动态导入和React.lazy等技术进行代码分割,只有在需要时才加载相应的代码。这样可以有效地......