Tôi đang cố gắng cập nhật tiêu đề của tài liệu trong ứng dụng React. Tôi có nhu cầu rất đơn giản cho việc này. Tiêu đề về cơ bản được sử dụng để đặt thành phần Total
hiển thị ngay cả khi bạn đang ở trên một tab khác.Thay đổi tiêu đề tài liệu trong React?
Đây là bản năng đầu tiên của tôi:
const React = require('react');
export default class Total extends React.Component {
shouldComponentUpdate(nextProps) {
//otherstuff
document.title = this.props.total.toString();
console.log("Document title: ", document.title);
return true;
}
render() {
document.title = this.props.total;
return (
<div className="text-center">
<h1>{this.props.total}</h1>
</div>
);
}
}
Tôi nghĩ điều này sẽ chỉ cập nhật document.title
mỗi khi thành phần này được trả lại, nhưng nó không xuất hiện để làm bất cứ điều gì .
Không chắc chắn những gì tôi thiếu ở đây. Có lẽ một cái gì đó để làm với cách React chạy chức năng này - có lẽ một nơi nào đó mà biến số document
không có sẵn?
EDIT:
Tôi bắt đầu một tiền thưởng cho câu hỏi này, như tôi vẫn chưa tìm thấy bất kỳ giải pháp. Tôi đã cập nhật mã của mình lên phiên bản mới hơn.
Phát triển kỳ lạ là console.log
không in tiêu đề tôi đang tìm kiếm. Nhưng vì lý do nào đó, tiêu đề thực tế trong tab không cập nhật. Vấn đề này giống nhau trên Chrome, Safari và Firefox.
Bạn đang tạo dựng hình phổ quát? Bất kỳ lỗi nào trong bảng điều khiển? –
Không có gì hiển thị trong bảng điều khiển. Và thành thật mà nói, tôi không biết ý bạn là gì bởi 'dựng hình phổ quát'. Tôi đang kết xuất độc quyền trong trình duyệt, sử dụng 'ReactDOM.render'. – fnsjdnfksjdb
Một câu hỏi ngớ ngẩn có thể, nhưng sau đó tình hình của bạn có vẻ bối rối ... Có, bởi bất kỳ cơ hội, trang của bạn có khung? Thực hiện một điều khác, trong mã thành phần của bạn, hãy ghi lại kết quả của '(window == top)'. – hazardous