I've been having this problem where my code in the componentDidMount()
method wasn't firing properly when refreshing the current page (and subsequently, the component). However, it works perfectly fine just navigating and routing through my website by clicking links. Refresh the current page? Not a chance.
I found out that the problem is that componentWillUnmount()
doesn't trigger when I refresh the page and triggers fine clicking links and navigating my website/app.
The triggering of the componentWillUnmount()
is crucial for my app, since the data that I load and process in the componentDidMount()
method is very important in displaying information to users.
I need the componentWillUnmount()
to be called when refreshing the page because in my componentWillMount()
function (which needs to re-render after every refresh) I do some simple filtering and store that variable in a state value, which needs to be present in the logos
state variable in order for the rest of the component to work. This does not change or receive new values at any time during the component's life cycle.
componentWillMount(){
if(dataReady.get(true)){
let logos = this.props.questions[0].data.logos.length > 0 ? this.props.questions[0].data.logos.filter((item) => {
if(item.logo === true && item.location !== ""){
return item;
}
}) : [];
this.setState({logos: logos});
}
};
Cliffs:
- I do DB filtering in
componentWillMount()
method
- Need it to be present in the component after refresh
- But I have a problem where the
componentWillUnmount()
doesn't trigger when the page is refreshed
- Need help
- Please
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…