2015-11-24 31 views
5

Không thể gán read-only cho bất động sản 'đạo cụ' của #Không thể gán read-only cho bất động sản 'đạo cụ' của # <Object> trong phản ứng tự nhiên

Tôi đã kiểm tra #1654 không thành công. Hãy có một cái nhìn tại vấn đề này một cách chi tiết hơn ở đây,

Screenshot of error

Về cơ bản những gì tôi đang làm là sử dụng một Navigator để di chuyển từ trang chỉ mục trang ApplistGridView. Tôi thấy điều hướng thành công (từ nhật ký) nhưng, ngay cả trước khi tôi thấy màn hình tôi gặp sự cố này.

Và chrome debug messages-

Chrome Debug messages

Mã được niêm yết tại Github Đã không tìm thấy một giải pháp. Tôi đang làm gì sai?

Trả lời

6

Bạn không thể đẩy tới đạo cụ this.props.nav.push({id: 'Applist', index: 2}); vì thuộc tính thành phần là chỉ đọc, vì trạng thái lỗi. Đạo cụ chỉ có thể được bắt nguồn từ thành phần chính, nhưng không thể sửa đổi được.

EDIT: Bài viết này là một điểm khởi đầu tuyệt vời cho những lúng túng trong vấn đề này như tôi đã khá lâu rồi :) https://reactjs.org/docs/thinking-in-react.html

+0

bạn có thể vui lòng cho tôi biết thêm về những gì "read-only" có nghĩa là thành phần? Tôi đã không thực hiện bất kỳ thành phần chỉ đọc bởi đức hạnh theo kiến ​​thức của tôi. – bozzmob

+1

@bozzmob Theo mặc định, React xử lý các thuộc tính (đạo cụ) được truyền bởi một thành phần cha. Thay vì sử dụng đạo cụ, bạn có thể sử dụng các trạng thái. Nếu bạn muốn chia sẻ một đối tượng/mảng hoặc trên và ứng dụng, thay vì chuyển trạng thái sang các thành phần khác, bạn có thể sử dụng Flux hoặc Redux để chia sẻ một cửa hàng trên ứng dụng của bạn. Đọc thêm tại đây: http://stackoverflow.com/questions/24939623/can-i-update-a-components-props-in-react-js – Thomas

+0

@Thomas - Tôi cũng phải đối mặt với một vấn đề tương tự nhưng tính duy nhất là rằng ứng dụng đang hoạt động tốt nhưng khi tôi chạy thử nghiệm (Tôi đã viết bằng cách sử dụng jest) Tôi nhận được lỗi này, bạn có thể vui lòng giúp tôi hiểu rõ hơn về nó không –

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