千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 13個React代碼片段匯總

13個React代碼片段匯總

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-09-07 13:31:11 1662528671

  01、Create React App

      $ create-react-app YOUR_APP_NAME

  Create React App 是一個用于創(chuàng)建 React 項目的 CLI。

  02、JSX

      const element = <h1>Hello, world!</h1>;

  我們可以通過 JSX 在 JavaScript 中編寫 HTML。

13個React代碼片段匯總

  03、在 JSX 中嵌入表達(dá)式

      const name = 'Josh Perez';

      const element = <h1>Hello, {name}</h1>;

  只需使用 {} 來包裝 JavaScript 表達(dá)式。

  04、創(chuàng)建一個組件

  import React from 'react'

  const Hello = () => <div>Hello World</div>

  export default Hello

  它是一個簡單的、無狀態(tài)的、功能性的組件。

  05、創(chuàng)建類組件

  import React from 'react'

  class Hello extends React.Component {

    render() {

      return <div>Hello World</div>

    }

  }

  export default Hello

  06、將值傳遞給組件

  const User = ({name, email}) => {

      <div>

        <div> name: {name} </div>

        <div> email: {email} </div>

      </div>

  }

  export default User

  用法:

      <User name="Jon" age="35">

  07、組件嵌套

  const Child = (props) => (

    <div>{props.message}</div>

  )

 

  const Father = () => (

    return (<div>

 

      <div> I am father</div>

      <Child message="aaa"></Child>

    </div>)

 

  )

  08、向組件添加狀態(tài)

  import { useState } from "react";

 

  export default function Counter(){

      // Declare a new state variable, which we'll call "count"

    let [count, setCount] = useState(0)

 

    return <div>

 

        <p>You clicked {count} times</p>

        <button onClick={() => setCount(count + 1)}> add</button>

      </div>

  }

  09、聲明多個狀態(tài)變量

  當(dāng)然,我們可以使用 useStates 定義多個狀態(tài)。

  function ManyStates() {

    // Declare multiple state variables!

    const [name, setName] = useState('');

    const [age, setAge] = useState(0);

    const [todos, setTodos] = useState([{ text: 'Eat' }]);

    // ...

  }

  10、使用效果

  import React, { useState, useEffect } from 'react';


  function Example() {

    const [count, setCount] = useState(0);


    // Similar to componentDidMount and componentDidUpdate:

    useEffect(() => {

 

      // Update the document title using the browser API

      document.title = `You clicked ${count} times`;

    });


    return (

      <div>

        <p>You clicked {count} times</p>

        <button onClick={() => setCount(count + 1)}>

 

          Click me

        </button>

      </div>

 

    );

  }

  11、處理事件

  function Form() {

    function handleSubmit(e) {

      e.preventDefault();

      console.log('You clicked submit.');

    }


    return (

      <form onSubmit={handleSubmit}>

        <button type="submit">Submit</button>

      </form>

 

    );

  }

  12、條件渲染

  function Greeting(props) {

    const isLoggedIn = props.isLoggedIn;

    if (isLoggedIn) {

      return <UserGreeting />;

    }

    return <GuestGreeting />;

  }

  用法:

  <Greeting isLoggedIn={false} />

  13、列表組件

  function NumberList(props) {

    const numbers = props.numbers;

    const listItems = numbers.map((number) =>

      <li>{number}</li>

    );

    return (

      <ul>{listItems}</ul>

    );

  }

  用法:

  <NumberList numbers={[1, 2, 3, 4, 5]} />)

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
軟件定制開發(fā)中的敏捷開發(fā)是什么?

軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關(guān)注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

2023-10-14 13:24:57
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨特的優(yōu)勢和特點。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問題是什么?

ORM(對象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19