目录1. 介绍2. 组件的创建方式2.1 函数创建组件2.2 类组件3. 父子组件传值3.1 函数组件3.2 类组件1. 介绍 组件允许你将 UI 拆分为独立可复用的代码片段,并对每
组件允许你将 UI 拆分为独立可复用的代码片段,并对每个片段进行独立构思。从概念上类似于 javascript 类或函数。它接受任意的形参( props ),并返回用于描述页面展示内容的 React元素( jsx )。 定义好的组件一定要有返回值。
react中定义组件的2种方式
注意点:
使用:
import React, { Component } from 'react'
// 定义函数组件 如果你安装了jsx插件,则可以通过 【rfc】 完成创建
// 1.使用js中的定义函数
// 2.函数名称,首字母大写
// 3.必须要有jsx/null返回值,如果是jsx则一定要有顶层元素包裹
const App = () => {
return (
<div>
<h3>我是一个App函数组件</h3>
</div>
)
}
export default App
注意点:
使用:
import React, { Component } from 'react'
// 定义类组件 如果你安装了jsx插件,则可以通过 【rcc】来创建类组件
// 1.要以es6的定义类来定义 ,必须以class定义类
// 2.此类必须要继承父类[Component]
// 3.此类必须要有一个成员方法 render,此方法中必须要返回jsx/null,如果是jsx必须要有顶层元素
class App extends Component {
render() {
return (
<div>
<h3>App之类组件</h3>
</div>
)
}
}
export default App
组件间传值,在React中是通过只读属性 props 来完成数据传递的。
props:接受任意的形参,并返回用于描述页面展示内容的 React 元素。
props中的数据是不能被修改的,只能读取。
props是一个单向数据流。 父流向子,子不能直接去修改 props 中的数据。
import React, { Component } from 'react'
// 函数组件间的通信
// 子组件通过入参 props来接收 父组件传过来的数据 props它是一个对象
const Child = props => {
let {title} = props
console.log(props)
return (
<div>
<h3>Child组件 -- {title}</h3>
</div>
)
}
// 标准写法
// const Child = ({ title = '默认值', fn }) => {
// console.log(fn())
// return (
// <div>
// <h3>Child组件 -- {title}</h3>
// </div>
// )
// }
const App = () => {
// 在react中的方法,先定义后调用
const fn = () => {
return 'fn'
}
return (
<div>
<h3>App组件</h3>
{}
<Child title="hello" num={100} obj={{ id: 1 }} fn={fn} />
{}
</div>
)
// function fn() {
// return 'function'
// }
}
export default App
import React, { Component } from 'react'
// 类组件 父传子
// 子组件它是通过 成员属性this.props来接受
class Child extends Component {
render() {
// 得到父组件传过来的自定义属性数据
let { title = '默认值', fn } = this.props
console.log(fn())
return (
<div>
<h3>Child组件 -- {title}</h3>
</div>
)
}
}
class App extends Component {
fn = arg => () => 'fn@@@ -- ' + arg
render() {
return (
<div>
<h3>App</h3>
{}
<Child title="我是标题" fn={this.fn(200)} />
</div>
)
}
}
export default App
到此这篇关于React组件的应用介绍的文章就介绍到这了,更多相关React组件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: React组件的应用介绍
本文链接: https://lsjlt.com/news/168758.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0