Tôi có một kịch bản mà tôi chuyển dữ liệu từ bộ giảm tốc vào trạng thái phản ứng của tôi.Kiểm tra không xác định trong React
dữ liệu:
{
"id": 1,
"title": "Test",
"content": {
"body": "sdfsdf"
"image": "http://example.com"
}
}
Sử dụng componentWillRecieveProps, công trình này một cách hoàn hảo để lấy danh hiệu.
componentWillReceiveProps(nextProps) {
this.setState({
title: nextProps.blog.title,
})
}
Tuy nhiên, tôi đang gặp khó khăn khi truy xuất các trường lồng nhau. Khi tôi làm điều này:
componentWillReceiveProps(nextProps) {
console.log("new title is", nextProps.blog.title);
console.log("new body content is", nextProps.blog.content["body"]);
this.setState({
title: nextProps.blog.title,
body: nextProps.blog.content["body"]
})
}
tôi nhận được lỗi này:
Các lỗi của một cơ thể không xác định sẽ biến mất sau khi tôi nhấp vào trình gỡ lỗi và nội dung được tải. Có anyway tôi có thể chống lại vấn đề này?
tôi đã cố gắng để kiểm tra xác định như thế này:
if (typeof nextProps.blog.content["body"] != 'undefined'){
Nhưng điều này không làm việc, hoặc và tôi tin rằng đó là bởi vì blog là không xác định.
Tôi nghĩ sai lầm của bạn là của bạn "cơ thể" được lồng vào bên trong "nội dung" – naomi
@naomi cảm ơn! Tôi đã sửa mã của mình thành blog.content thay vì chỉ nội dung, đó là ý của bạn phải không? Tôi vẫn nhận được lỗi tương tự. – lost9123193