У меня есть собственное приложение для реагирования, и я вызываю componentDidUpdate в приложении. js, но оно не срабатывает. Интересно, это потому, что я звоню из приложения js? Вот приложение. js файлы:
class App extends Component {
componentDidUpdate = () => {
if (this.props.text && this.props.text.toString().trim()) {
Alert.alert(this.props.title || 'Mensagem', this.props.text.toString());
this.props.clearMessage();
}
}
render() {
return (
<NavigationContainer>
<Navigator />
</NavigationContainer>
)
}
}
const mapStateToProps = ({ message }) => {
return {
title: message.title,
text: message.text
}
}
const mapDispatchToProps = dispatch => {
return {
clearMessage: () => dispatch(setMessage({
title: '',
text: ''
}))
}
}
const connectDispatch = connect(mapStateToProps, mapDispatchToProps);
const connectApp = connectDispatch(App);
export default connectApp;
И вот где я его вызываю. Внутри действия отправки в сообщениях.
.then(res => {
dispatch(fetchPosts());
dispatch(postCreated());
dispatch(setMessage({
title: 'Sucesso',
text: 'Nova Postagem!'
}));
});
Все остальные отправления запускаются. Дело не в том, что если это предотвращает срабатывание предупреждения, потому что я уже поместил предупреждение вне if.