React学习

React学习笔记(一)

该学习笔记源于B站视频https://www.bilibili.com/video/av69359910/?p=2&t=397

1、只要文件要使用JSX的语法,就需要在src文件夹中的index文件中引入react,import React from 'react'
在web中运行 import ReactDom from 'react-dom'
ReactDom.render(element,container,callback)
要在JSX中写JS就只要加花括号,对于大篇幅的JSX,用括号括起来渲染,JSX中注释是{/* */}。
组件在Render函数中调用可以用</>调用。
eg://创建组件的第一种方式就是使用箭头函数,但是这个名字要大写开始。

const App=(props)=>{
return (
<div>
    <h1>welcome {props.title} !!!</h1>
</div>
)
}
ReactDom.render{
<App title="1901"/>,
document.querrySelector('#root')
}

2、定义组件的第二种方式就是使用类继承React下的Component

class App from React.Component{
  render(){
    return (
      <p>{this.props.desc}</p>
    )
  }
}
//render是react dom 提供的一个方法,这个方法通常只会用一次
 render(
   <App desc="类组件" />,
   document.querrySelector('#root')
 )

在react16以嵌,使用以下方式来创建一个类组件

React.createClass({
  render(){
    return <h1> xxxx</h1>
  }
})

3、组件可以嵌套,把

加到class App 中,但要加
把他们包裹起来。JSX语法不是合法的JS代码,所以react在真正渲染的时候会把上面的代码编译为下面的代码来运行。
底层渲染机制使用React.createElement(),React.createElement()第一个参数为标签名,第二个参数是标签属性,剩下的就是更多的子元素。
eg:

React.createElement{
  'div',
  {
     className:'app',
     id:'appRoot'
  },
  React.createElement{
    'h1',
    {
        claaName:'title'
    },
    'JSX原理'
  }
}

4、在JSX中写style也要多加一个花括号。添加样式方法:内联创建和使用className(添加index.css文件 import ‘./index.css’ 要动态添加不同的Classname就可以添加第三方的包叫classN ames eg: className={classNames('a',{'b':true,'c':false})}
还可以使用styled-components
import styled from ‘styled-components’
eg:

//带样式的组件
const Title=styled.h1`
color:#f00
`
//使用
...
<Title>元素中样式</Title>

还有用styled-jsx(不推荐使用,了解可以上npm)

5、在src文件夹中创建components文件夹,同时一般会创建一个App.js文件 ,简写rcc就直接出来基础框架,一个组件做一件事情(创建一个文件夹),但是有些组件有小组件可以管理在组件文件夹下,如果不想在外层加

,可以添加Fragment(Fragment可以直接写空标签,也就是说相当于空标签)。

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值