热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

react入门必看攻略

一、react是什么?react是一个用于构建用户界面的JavaScript库二、使用步骤安装react1.安装脚手架npmicreate-react-ap

一、react是什么?

react是一个用于构建用户界面的 Javascript 库


二、使用步骤


安装react

1. 安装脚手架

npm i create-react-app -g

2. 创建项目

create-react-app 项目名

3. 启动项目

npm start


二、元素渲染


文本渲染

const str = "你好react"
function App() {return (

{str}

{3 - 1}

{str.split('').reverse().join('')}

)
}
export default App;

运行结果:


html渲染 

import './App.css';const stl = {fontSize:'24px',color:'red'
}
function App(){return (

开摆开摆

{

应用样式

}
)
}
export default App;

运行结果:

 


三、条件渲染


 && 与三目运算符

const str = '给我爱吃的喜之郎';
const msg = '还是html简单';
const score = 80;
let flag = true;
const list = ['react','vue','angular','jQuery'];
function App(){return (

长大我想当太空人

爷爷奶奶可高兴了

{str}

{2+3}

{str.length}

{str.split('').reverse().join('')}

条件渲染

条件渲染

{score>=60?'及格':'再学一遍'}{flag&&

啊这

}

列表渲染

{list.map((item,index)=>

{item}

)}
)
}
export default App;

如果条件是 true ,&& 右侧的元素就会被渲染,如果是 false,React 会忽略并跳过它。


四、列表渲染

import './App.css';const arr = [

我直接坐飞机去你的坟头

,

疯狂的偷吃你的贡品

,

啊对对对


]
const stl = {fontSize:'24px',color:'red'
}
function App(){return (

开摆开摆

{arr}{

应用样式

}
)
}
export default App;

运行结果:

key 帮助 React 识别哪些元素改变了,比如被添加或删除。应当给数组中的每一个元素赋予一个确定的标识。
如果列表项目的顺序可能会变化,不建议使用索引来用作 key 值,因为这样做会导致性能变差,还可能引起组件状态的问题。


五、事件渲染


 React 事件与 js 事件一致 ,但是React 事件的命名采用 小驼峰式 (camelCase)
事件的四种语法:


1、箭头函数 onClick={()=>{ xx }}

function App() {return (

)
}
export default App;

2、onClick={函数名}

const say = function () {alert("秋天")
}
function App() {return (

)
}
export default App;

3、onClick={函数名.bind(this,参数)}

const say = function (str) {alert("秋天" + str)
}
function App() {return (

)
}
export default App;

4、onClick={()=>函数名(参数)}

const say = function (str) {alert("秋天" + str)
}
function App() {return (

)
}
export default App;

六、react 响应式数据 State


import React,{Component}from 'react';
class App extends Component{constructor(props) {super(props);this.state={num:1}}addNum(n){this.setState({num:this.state.num+n})}render(){return(

函数类

);}
}
export default App;


推荐阅读
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 2.2 组件间父子通信机制详解
    2.2 组件间父子通信机制详解 ... [详细]
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 在 iOS 开发中,经常会遇到 `@(YES)`、`@[firstViewController]` 以及 `@{@a:@b}` 这样的语法糖。这些简化的写法分别用于初始化布尔值、数组和字典对象,能够显著提高代码的可读性和编写效率。例如,`@(YES)` 可以快速创建一个布尔值对象,`@[firstViewController]` 则用于创建包含单个元素的数组,而 `@{@a:@b}` 则用于创建键值对字典。理解这些语法糖的使用方法,有助于开发者更加高效地进行编码。 ... [详细]
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
author-avatar
mobiledu2502902537
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有