Stateless Component ใน React

10 Feb 2018

Share to:

สวัสดีครับ บทความนี้จะเกี่ยวกับ การสร้างและใช้งาน Stateless Component ใน React ซึ่งเป็นการสร้าง Component อีกรูปแบบหนึ่ง ที่ภายใน Component จะไม่มี State

ในบาง  Component ที่เราสร้างขึ้นมาใช้งานไม่จําเป็นจะต้องใช้ State อาจเป็นเพียง Component ที่รับข้อมูลเข้ามาแล้วแสดงผลเพียงอย่างเดียว จึงไม่จําเป็นต้องสร้าง Component แบบเดิมที่จะต้อง Extends React.Component ทําให้เวลาที่เราใช้งานก็จะมี Life Cycle ต่างๆ ของ React มาด้วย วิธีการสร้าง Stateless Component ง่ายๆก็คือสร้าง Function ขึ้นมาเท่านั้นเอง ตามตัวอย่างนี้

function myName(props) {
  return <h1>My name is {props.name}</h1>
}

Function ด้านบนจะรับค่า Props เข้ามา แล้ว Return JSX ออกไป มาดูตัวอย่างการใช้งานกัน เราจะสร้าง Stateless Component โดยสร้างไฟล์ชื่อว่า myname.js แล้วก็ใส่ Code นี้ลงไป

import React from 'react'

function header(props) {
    return (
        <div>
            <h1>{props.msg}</h1>
        </div>
    )
}

export default header

หรือจะเขียนเทห์ๆ แบบ ES6 จะได้แบบนี้

import React from 'react'

const header = ({ msg }) => (
    <div>
        <h1>{msg}</h1>
    </div>
)

export default header

เวลานํา Component ไปใช้งาน ก็ Import เข้ามาใช้เหมือน Component ทั่วไปได้เลย

<Header msg="My header" />

ลองเอาไปใส่ใน App.js

Image

ลองรันดูจะได้หน้าตาแบบนี้

Image

ข้อดีของ Stateless Component

  • ไม่ต้องใช้ this (ไม่ต้อง bind ใน Constructor) แล้ว เช่น this.props.name ก็ใช้ props.name ได้เลย หรือ {onClikc={handleClikc}
  • ไม่ต้อง extends Class ให้ยุ่งยาก

Suggestion blogs

วิธีดู keyword ของเว็บ ใน google

สำหรับคนสร้างเว็บ SEO ก็เป็นเรื่องสำคัญที่จะทำให้เว็บเราเป็นที่รู้จัก ยิ่งถ้าเว็บของเราอยู่ในหน้าแรกๆของ google จะทำให้เว็บของเรามีคนเข้ามากขึ้น เราสามารถดู keyword หรือคำค้นหา ทั้งหมดของเว็บเราได้ด้วยการใช้คำค้นหาดังนี้

ปิด Barcode บนหน้าบัตรประชาชนทุกครั้งที่ลง Social Media

สวัสดีครับ ในบทความนี้เป็นความสั้นๆนะครับ เนื่องจากช่วงนี้มีพวกมิจฉาชีพเยอะมาก เราจึงต้องให้ความสําคัญกับการเก็บรักษาข้อมูลส่วนตัวไม่ไห้ตกไปอยู่ในมือพวกมิจฉาชีพพวกนี้

Go EP.6 Go Channel

สวัสดีครับ ในบทความนี้ก็เป็น EP.6 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Go Channel ซึ่งเป็นเรื่องที่ต่อเนื่องจาก Go EP.5 Go Routine ครับสําหรับท่านใดที่ยังไม่ได้อ่าน EP.5 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.5 Go Routineมาเริ่มเรียนรู้ไปด้วยกันตามหัวข้อด้านล่างเลยครับ


Copyright © 2019 - 2024 thiti.dev |  v1.36.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Youtube channel   Telegram   Email contact   วงแหวนเว็บ