Программно обновлять заголовок реагирующей навигации в функциональном компоненте с помощью хуков - PullRequest
0 голосов
/ 13 июня 2019

вопрос относительно реакции навигации setParams (). Я спросил о Reactiflux, но никто не ответил. Я пытаюсь установить заголовок программно в компоненте функции.

Из другого потока Stack Overflow обновление статического заголовка задним числом, например, так:

const Comp = props => { ... };

Comp.navigationOptions = ({ navigation }) => ({
  title: 'Static Title'
});

Но мне нужно получить доступ к состоянию компонента из внутри компонента, это не работает:

const Comp =({ navigation }) => {
 const [title, setTitle] = useState('');

 useEffect(() => {
     navigation.setParams({ title });
 }, [title]);

 return ( ... );
}

Если setParams () - неправильный способ сделать это, пожалуйста, просветите меня

РЕДАКТИРОВАТЬ: Чтобы добавить к этому, когда я console.log(navigation) я вижу, что он меняет navigation.state.params.title на правильную строку, однако он не отображается в качестве заголовка.

1 Ответ

2 голосов
/ 14 июня 2019

Вам необходимо получить параметр заголовка и применить его к заголовку:

Comp.navigationOptions = ({ navigation }) => ({
  title: navigation.getParam('title', /* your default title */)
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...