Add unsetParams to navigation prop
luissmg opened this issue · 2 comments
I searched a lot for this and didn't find anything regarding what I am about to write. Sorry if I missed any open issue about this.
Context
Let's consider the case where when I show some random component I set a param and I read that parameter in, let's say, the appbar.
Component setting the param:
import React from 'react';
export default class RandomComponent extends React.Component {
...
componentDidMount() {
this.props.navigation.setParams({ randomParam: 'my_value' });
}
...
}
Component reading the param:
import React from 'react';
export default class RandomComponent extends React.Component {
...
render() {
const randomParam = this.props.navigation.getParam('randomParam', 'default');
...
}
}
As you can see, when I don't set the param I use a default value using the getParam
function on the navigation API
.
Problem
In the first same component, when I unmount it I want to restore the default value. BUT I don't want to set the param again with the default value because I am using getParam
form that. I want to unset that param.
Setting the param to undefined
does not work.
Solution
Maybe implement a unsetParams
function to unset parameters from the navigation state.
seems like instead of unsetParams we should just change getParam so that it considers undefined to be empty
Yes, that is a good alternative. Or when you set something to undefined
it unsets the parameter. Maybe your approach is better