reactjs / reactjs/react.dev

Make it clearer how to run an effect only once (componentDidMount style)

Đang mở
#1,930 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
JavaScript
Star
11.8k
Fork
7.9k
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
11

Mô tả

Based on this conversation on Twitter, it's perhaps not clear enough how to make an effect hook only run once on mount (a la componentDidMount.)

The relevant info on how to do it properly is tucked away near the bottom of the effect hook doc, in a footnote of this tip. This is a major use case that should probably have higher priority in the documentation. I imagine a vast majority of apps actually need to do use an effect in this manner.

I assume people are probably doing something like

function MyComponent({ fetchData, data }) {
  useEffect(() => {
    if (!data) {
      fetchData()
    }
  })
}

I can make the change to the docs, but where's the best place to put it? Should I make it a tip? Does it deserve higher priority than that?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với tài liệu về effect hook và phần “Mẹo: Tối ưu hóa hiệu năng bằng cách bỏ qua các effect”, nơi hướng dẫn chỉ chạy một lần khi mount hiện đang bị ẩn. Quyết định xem ví dụ useEffect-on-mount có thuộc về một phần hoặc mẹo có mức ưu tiên cao hơn hay không, sau đó xác nhận rằng tài liệu giải thích rõ ràng pattern dự kiến.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript, react
Lĩnh vực
documentation
Loại issue
Tài liệu
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.