Cách sử dụng PropTypes trong React – Hỏi Gì 247

Bài viết này nói về Cách sử dụng PropTypes trong React được chia sẽ lại bởi Hoigi247. Kỳ vọng bài viết Cách sử dụng PropTypes trong React sẽ sản xuất đầy đủ cho khách du lịch tri thức mà khách du lịch cần tìm kiếm. Hãy chia sẽ bài viết này tới nhiều khách du lịch bè của khách du lịch hơn nhé.

khách du lịch đang xem : Cách sử dụng PropTypes trong React


Nếu khách du lịch đã từng muốn thêm bảo đảm an toàn kiểu vào những dự án Bất Động Sản React của mình, nhưng việc sử dụng TypeScript quá mức thiết yếu hoặc quá nhiều việc làm thì PropTypes là lựa chọn tuyệt vời và tuyệt vời nhất cho khách du lịch. PropTypes là một phương tiện trong React được cho phép khách du lịch xác nhận cấu trúc và loại của tổng thể những đạo cụ của khách du lịch và nếu mang bất kể yếu tố nào, chúng sẽ hiển thị dưới dạng lỗi trong bảng tinh chỉnh và điều khiển của những phương tiện dành cho nhà tăng trưởng trình duyệt của khách du lịch .

Khởi đầu

Nếu khách du lịch đã từng muốn thêm bảo đảm an toàn kiểu vào những dự án Bất Động Sản React của mình, nhưng việc sử dụng TypeScript quá mức thiết yếu hoặc quá nhiều việc làm thì PropTypes là lựa chọn tuyệt vời và tuyệt vời nhất cho khách du lịch. PropTypes là một phương tiện trong React được cho phép khách du lịch xác nhận cấu trúc và loại của tổng thể những đạo cụ của khách du lịch và nếu mang bất kể yếu tố nào, chúng sẽ hiển thị dưới dạng lỗi trong bảng tinh chỉnh và điều khiển của những phương tiện dành cho nhà tăng trưởng trình duyệt của khách du lịch .

Để mở màn sử dụng PropTypes trong dự án Bất Động Sản của khách du lịch, khách du lịch cần setup thư viện PropTypes .

npm i prop-types

khách du lịch đang đọc: Cách sử dụng PropTypes trong React

Ko quan yếu nếu khách du lịch đang làm việc với một thành phần lớp hay hàm, việc thiết lập PropTypes hoạt động hoàn toàn giống nhau. khách du lịch chỉ cần xác định một tính chất trên lớp / hàm được gọi propTypes. Tính chất này sẽ là một đối tượng phác thảo tất cả những đạo cụ cho thành phần.

import PropTypes from 'prop-types'
class Component {
  render() {
    return 'Hi'
  }
}
Component.propTypes = {
  // Put props here
}
export default Component
import PropTypes from 'prop-types'
function Component(props) {
  return 'Hi'
}
Component.propTypes = {
  // Put props here
}
export default Component
Component.propTypes = {
  // Put props here
}

Cách cơ bản nhất khách du lịch mang thể rà soát kiểu của prop là rà soát xem nó mang phải là một trong những kiểu nguyên thủy trong JavaScript hay ko, chẳng hạn như boolean, string, object, v.v. Để làm điều này, chúng tôi sẽ sử dụng tên của prop làm khóa trong propTypesđối tượng và trị giá cho khóa đó sẽ là PropType cụ thể mà chúng tôi đang rà soát.

Component.propTypes = {
  name: PropTypes.string,
  age: PropTypes.number,
  address: PropTypes.object,
  friends: PropTypes.array
}

Đây là cách dễ nhất để thiết lập PropTypes và rất tốt để bắt những lỗi nhỏ, ví dụ tiêu biểu như vô tình chuyển một chuỗi thay vì một số ít .


Cảnh báo: Loại đề xuất ko thành công: ageLoại đề xuất stringđược sản xuất cho Component, dự kiến ko hợp thức number.

Điều này thật tuyệt vì hiện tại chúng ta mang thể đảm bảo rằng điểm agetựa luôn là một con số. khách du lịch cũng sẽ nhận thấy rằng ko mang cảnh báo nào về việc thiếu đạo cụ mặc dù chúng tôi đã xác định PropTypes cho addressfriends. Điều này là do theo mặc định, tất cả những đạo cụ đều là tùy chọn. Để tạo ra một điểm tựa cần thiết, chúng ta mang thể xâu chuỗi isRequiredtới cuối PropType.

Component.propTypes = {
  name: PropTypes.string.isRequired,
  age: PropTypes.number.isRequired,
  address: PropTypes.object.isRequired,
  friends: PropTypes.array
}

Cảnh báo: Loại tương trợ ko thành công: Loại tương trợ addressđược đánh dấu là đề xuất trong Component, nhưng trị giá của nó làundefined

Ngoài ra, đây là list toàn bộ những PropTypes cơ bản để rà soát những nguyên thủy JavaScript

PropTypes.array
PropTypes.bool
PropTypes.func
PropTypes.number
PropTypes.object
PropTypes.string
PropTypes.symbol

Ngoài việc hoàn toàn mang thể rà soát những kiểu nguyên thủy, khách du lịch cũng hoàn toàn mang thể rà soát một số ít thứ đơn cử của React .

Rà soát năng lực kết xuất

Nếu khách du lịch chỉ muốn rà soát xem một thành phần mang thể được hiển thị hay ko, khách du lịch mang thể sử dụng PropTypes.noderà soát. Điều này sẽ rà soát xem liệu prop mang phải là loại mà React mang thể hiển thị hay ko. Những thứ như chuỗi, số, phần tử và mảng là những loại mang thể kết xuất phổ biến.

Component.propTypes = {
  renderableProp: PropTypes.node
}

Xem thêm: Sự khác biệt giữa giá cả, giá thành và trị giá

Nếu khách du lịch muốn chỉ cần rà soát xem liệu một phần mềm tương trợ mang phải là một thành phần React mà khách du lịch mang thể sử dụng hay ko PropTypes.element. Điều này rất hữu ích để đảm bảo rằng một thành phần chỉ mang một thành phần con, chẳng hạn.

Component.propTypes = {
  children: PropTypes.element.isRequired
}

Cuối cùng, khách du lịch mang thể rà soát xem prop của khách du lịch mang phải là tên của một thành phần React hay ko bằng cách sử dụng PropTypes.elementType.

Component.propTypes = {
  as: PropTypes.elementType
}

PropTypes cũng chứa rất nhiều kỹ thuật rà soát kiểu tăng khác nhau .

Rà soát bất kỳ loại nào

Thỉnh thoảng khách du lịch chỉ muốn đảm bảo cần mang một chỗ dựa mà ko chỉ định một loại cụ thể. Đây là nơi PropTypes.anymang ích vì nó sẽ ko bao giờ đưa ra cảnh báo cho loại này.

Component.propTypes = {
  couldBeAnything: PropTypes.any.isRequired
}

Nếu khách du lịch ko thích ý tưởng sử dụng bất kỳ loại nào, nhưng cũng mang một giá đỡ mang thể là nhiều loại, khách du lịch mang thể sử dụng PropTypes.oneOfType()để chỉ định loại giá đỡ mang thể là. Điều này chỉ lấy một mảng những PropTypes hợp thức.

Component.propTypes = {
  stringOrNumber: PropTypes.oneOfType([
    PropTypes.string,
    PropTypes.number
  ])
}

Nếu khách du lịch muốn đảm bảo rằng trị giá của một trụ là từ một danh sách cụ thể, khách du lịch mang thể sử dụng PropTypes.oneOf()để xác định những trị giá được phép. Điều này là tuyệt vời để tạo một enum.

Component.propTypes = {
  state: PropTypes.oneOf([
    'LOADING',
    'READY',
    'ERROR'
  ])
}

Lúc khách du lịch mang một mảng mà khách du lịch biết kiểu của những phần tử, khách du lịch mang thể sử dụng PropTypes.arrayOf()để chỉ định kiểu của những phần tử. Điều này hoạt động rất giống với PropTypes.array, nhưng nó cũng kiểu rà soát những phần tử trong mảng.

Component.propTypes = {
  names: PropTypes.arrayOf(PropTypes.string)
}

Cũng giống như với mảng, khách du lịch cũng mang thể rà soát những loại tính chất riêng lẻ của một đối tượng PropTypes.shape(). Điều này thực sự hữu ích lúc chuyển những đối tượng to xuống một thành phần.

Component.propTypes = {
  address: PropTypes.shape({
    street: PropTypes.string.isRequired,
    state: PropTypes.string,
    country: PropTypes.oneOf(['US', 'India']).isRequired
  })
}

Xem thêm: Tên miền (Domain) là gì? Hosting là gì?

Component.propTypes = {
  address: PropTypes.exact({
    street: PropTypes.string.isRequired,
    state: PropTypes.string,
    country: PropTypes.oneOf(['US', 'India']).isRequired
  })
}

PropTypes là một cách tuyệt vời để thêm tuyến phòng thủ tiên phong trong những ứng dụng của khách du lịch. Tuy nhiên, nó ko phải là tuyệt đối, vì nó sẽ chỉ bắt lỗi trong thời hạn chạy, trong lúc một loại gì đó như TypeScript sẽ bắt những lỗi này trong bước biên dịch, nhưng nó thuận tiện hơn nhiều để thiết lập và thao tác .