react-03函数式组件-传参-嵌套

简介: react-03函数式组件-传参-嵌套

1.基本语法


1.使用函数定义组件

1.1.区别于 vue component 小程序

1.2.注意 组件函数名必须大写

1.3只能包含一个root元素


2. 基本结构


纯函数组件

无状态


function FirstComponent(){
            return <h1> 第一个组件</h1>
        }
        //  单双标签都可以 ,但是注意 结束的/ 不能省
        // ReactDOM.render(<FirstComponent> </FirstComponent>, box)
        ReactDOM.render(<FirstComponent />, app)



3.组件传参


1.函数式组件 顾名思义 就是函数 ,既然是函数的话 参数通常都在  参数里面

2.函数调用的形式使用 通过参数传参

3.组件的形式,当组件/标签 使用的时候 通过属性 传参


function HelloMessage(props) {
            // 使用组件传参数 此处的属性都会保存到组件中的props对象里面
            console.log('props=>', props)
            return (
                <h1>
                    Hello React {props.name}----
                    {props.location}
                </h1>
            )
        }
        const element = (<div> 
  {HelloMessage({name:"函数",location:"react"})}
  <HelloMessage name="易经" location="天行健" />
</div>)
        ReactDOM.render(element, box2)



4.  简易的  简书 个人主页 界面


标题 文章列表   时间

基本的数据结构


var newsArr = [
            { url: "https://www.jianshu.com/u/5b862adfdb97", content: "天行健,君子以自强不息;" },
            { url: "https://www.jianshu.com/u/5b862adfdb97", content: "地势坤,君子以厚德载物" },
           { url: "https://www.jianshu.com/u/5b862adfdb97", content: "随风巽,君子以申命行事" },
            { url: "https://www.jianshu.com/u/5b862adfdb97", content: "渐雷震,君子以恐惧修省" }
        ]

4.1 标题


function HeadName(props) {
            return (
                <div>
                    <h1>{props.name}</h1>
                </div>
            )
        }


4.2 列表

数组遍历

js 就用{}  和 ejs 类似的模板语法

其实 熟悉之后你能发现 所有的模板一个样

这里边既然 写了 props.news 传值的时候也就确定 属性了,其实这里用解构赋值也行,我这里后续再用


function Link(props) {
            console.log("props.news",props.news)
            return (
                <div>
                    <ul>{
                        props.news.map((item, index) => {
                          return (
                               <li key={index}> <a href={item.url}>{item.content}</a> </li>
                          )
                        })
                    }
                    </ul>
                </div>
            )
        }


4.3 时间


function TimeEnd(props) {
            return (<p> {props.time}</p>)
        }


4.4 组装 -整合

组件是可以互相嵌套的 !!!  其实 组件本身也就是积木一样 ,我们的程序 无非是积木堆起来的成品

大组件


function App() {
            return (
                <div>
                    <HeadName name="小破站" />
                    <Link news={newsArr} />
                    <TimeEnd time="2020-12-12" />
                </div>
            );
        }
        ReactDOM.render(<App />, box3)

样式 自己写吧




相关文章
|
21天前
|
存储 前端开发 索引
REACT 在组件之间共享状态
REACT 在组件之间共享状态
|
14天前
|
存储 前端开发 JavaScript
React中有效地使用props和state来管理组件的数据和行为
React中有效地使用props和state来管理组件的数据和行为
|
28天前
|
前端开发 JavaScript 开发者
在React中,如何利用生命周期方法管理组件的状态和行为?
【5月更文挑战第29天】在React中,如何利用生命周期方法管理组件的状态和行为?
24 3
|
6天前
|
缓存 前端开发 JavaScript
如何对 React 函数式组件进行优化
如何对 React 函数式组件进行优化
|
22天前
|
前端开发 索引
react怎么做到点击传参
react怎么做到点击传参
17 0
|
1月前
|
前端开发 JavaScript 开发者
掌握React中的useEffect:函数组件中的魔法钩子
掌握React中的useEffect:函数组件中的魔法钩子
|
1月前
|
存储 前端开发 安全
深入理解React中的useState:函数组件状态管理的利器
深入理解React中的useState:函数组件状态管理的利器
|
10月前
|
前端开发
前端学习笔记202305学习笔记第二十九天-React keep alive原理之2
前端学习笔记202305学习笔记第二十九天-React keep alive原理之2
46 0
|
10月前
|
前端开发
前端学习笔记202306学习笔记第四十八天-react-admin marmelab之8
前端学习笔记202306学习笔记第四十八天-react-admin marmelab之7
32 0
|
1月前
|
前端开发 JavaScript
前端知识笔记(二十六)———React如何像Vue一样将css和js写在同一文件
前端知识笔记(二十六)———React如何像Vue一样将css和js写在同一文件
37 1