2016-06-26 27 views
9

Theo như tôi có thể nói, nếu tôi chuyển trạng thái thành phần gốc xuống con, thì con đó sẽ nhận trạng thái trực tiếp của phụ huynh.Trong reactjs, các đạo cụ có vượt qua giá trị hoặc vượt qua tham chiếu không?

Vì vậy, một thay đổi được thực hiện trong trạng thái của phụ huynh là ngay lập tức cũng có sẵn trong các con thông qua các prop nó đến.

Điều này có đúng không?

Trả lời

0

Khi trạng thái của một thành phần được thay đổi, thì thành phần được trả lại bởi React. Trong khi làm điều đó, các thành phần con của nó cũng được trả lại, cũng gây ra những thay đổi trong chúng.

7

Về cơ bản, cơ chế này giống với bất kỳ nơi nào khác trong ngôn ngữ, như bạn mong đợi. Nguyên thủy được chuyển qua giá trị và các biến không phải là nguyên thủy sẽ được chuyển qua tham chiếu.

Phản ứng chăm sóc bên trong việc cập nhật các đạo cụ, để trẻ luôn có giá trị cập nhật nhất của giá đỡ.

This is the lifecycle method được gọi khi nhận các giá trị mới cho đạo cụ.

Tuy nhiên, hãy đảm bảo bạn tôn trọng cơ sở hạ tầng được đặt ra và API tiếp xúc mà React cung cấp cho bạn.

0

Nếu bạn chuyển xuống trạng thái của thành phần dưới dạng đạo cụ cho con, thì trạng thái của thành phần gốc thay đổi nó sẽ hiển thị lại, cũng sẽ trả lại con của nó bằng các thuộc tính được làm mới. Các em không trực tiếp lắng nghe sự thay đổi của tiểu bang giống như phụ huynh, chúng chỉ đơn giản là được trả lại như là kết quả của việc thay đổi và cập nhật trạng thái của phụ huynh.

Hãy xem điều này - https://facebook.github.io/react/docs/multiple-components.html. Nó sẽ giúp bạn có được cái đầu của bạn như thế nào khái niệm này hoạt động. Hi vọng điêu nay co ich!

+0

Trong thành phần con, tôi muốn phát hiện nếu có gì đó thay đổi - một giá trị trường. Vì vậy, tôi chuyển thông tin đó qua các đạo cụ từ cha mẹ sang con. NHƯNG con ALREADY có giá trị trường thay đổi vì trạng thái gốc xuất hiện trong các đạo cụ. –

+0

@DukeDougal Bạn có thể tham khảo câu trả lời của tôi cho phương pháp vòng đời mà bạn có thể sử dụng để chặn những thay đổi đó. Bạn có thể kiểm tra các thay đổi của bạn ở đó. Hàm này được gọi với các giá trị mới của các đạo cụ và bạn sẽ vẫn có quyền truy cập vào các giá trị cũ bằng cách sử dụng tham chiếu 'this.props' sẽ trỏ đến thành phần của bạn. –

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