내 구성 요소 this.props.save();
componentWillUnmount
? 내가 다른 탭에서 외부 링크 페이지를 떠날 경우가사용자가 버튼을 클릭 할 때 재사용 가능한 반응 구성 요소가 저장되도록하려면 어떻게해야합니까?
export default class AutoSave extends React.Component {
constructor(props) {
super(props);
this.setIntervalId = null;
}
componentDidMount() {
if (!window.onbeforeunload) {
window.onbeforeunload =() => {
this.props.save();
};
}
this.setIntervalId = setInterval(() => this.props.save(), this.props.intervalInMs);
}
componentWillUnmount() {
this.props.save();
clearInterval(this.setIntervalId);
}
render() {
return <span className="saving">Last saved at {now()}</span>;
}
}
내 링크가이
<Link href="http://www.google.com" target="_blank">
Google Link
</Link>
처럼 보이는 내 구성 요소 componentWillUnmount
트리거되지 않습니다 사용자가 링크를 클릭 할 때 구성 요소를 저장하려면 어떻게합니까? 그것은 반응/redux 응용 프로그램입니다.
새 탭을 열면 'componentWillUnmount()'또는 'onbeforeunload'가 실행되지 않습니다. 두 경우 모두 앱이 원래 탭에서 열려 있기 때문에 React는 페이지를 닫거나 탐색하기 직전에 컴포넌트를 언 마운트하지 않기 때문에'componentWillUnmount()'는 페이지가 닫히더라도 아무 일도하지 않을 것이다. 'onbeforeunload'는 같은 탭 *에서 페이지 *를 탐색하거나 탭/창을 닫을 때만 트리거됩니다. 사용자가 버튼을 클릭 할 때마다'this.props.save()'를 확실히 호출하려면 버튼에'onClick' 핸들러를 추가하기 만하면됩니다. – jered
어떻게 보여줄 수 있습니까? –