2017-01-11 34 views
5

Tôi biết đó là it considered a good practice để đặt tên thành phần phản ứng bằng cách thêm thuộc tính displayName, nhưng không chắc chắn tôi biết lý do. Trong tài liệu phản ứng, nó nói:Thành phần React 'displayName' được sử dụng để làm gì?

Chuỗi displayName được sử dụng trong thông báo gỡ lỗi. JSX tự động đặt giá trị này; xem JSX trong chiều sâu.

Tại sao lại quan trọng như vậy? điều gì sẽ xảy ra nếu tôi không thêm nó? (cho đến nay tôi đã không có nó và không có vấn đề gỡ lỗi)

Có bất kỳ khuyến nghị/thực hành tốt về cách đặt tên cho các thành phần không?

+1

nếu bạn không thêm tên thành phần sẽ không hiển thị, và nó sẽ được khó khăn để gỡ lỗi cho tiểu bang. Nhưng nếu bạn đang sử dụng Es6 để tạo thành phần (mở rộng thành phần) thì bạn không cần phải thêm tên hiển thị theo cách thủ công cho từng thành phần. –

Trả lời

8

Tôi luôn đặt displayName có cùng tên với biến mà tôi đang gán cho. Điều này sẽ chỉ được sử dụng trong xây dựng phát triển vì nó được loại bỏ thông qua việc loại bỏ mã chết trên các bản xây dựng sản xuất và không nên dựa vào trong ứng dụng của bạn.

Đối với nơi nó được sử dụng, chủ yếu trong thông báo lỗi phản ứng. Đây là lý do tại sao nó được đề cập là có giá trị để gỡ lỗi. Nếu không có tên có thể được bắt nguồn từ các thông báo lỗi mặc định để nói Component đó là vô cùng khó khăn để gỡ lỗi, khi bạn có bất kỳ hơn 1 thành phần trong dự án của bạn.

Dưới đây là một vài thông báo lỗi mà tham khảo displayName trong nguồn phản ứng:.

Invalid Return

Inline style error

+0

Làm cách nào để bạn đặt tên hiển thị? Theo các tài liệu phản ứng, nó dường như bị suy ra từ tên của thành phần nhưng không nói cách đặt thủ công nó cho các phi HOC. – gabrielwr

+2

là thuộc tính tĩnh. Cách nhanh nhất là đặt nó trực tiếp, tức là. 'hoc.displayName =" hocName ";' – kwelch

Các vấn đề liên quan