Estou usando a interface do usuário Material SwipeableViews Que usam o pacote ReactSwipableView, estou recebendo esse erro no console
react-dom.development.js: 12466 Aviso: componentWillReceiveProps foi renomeado e não é recomendado para uso. Veja para detalhes.
- Mova o código de busca de dados ou efeitos colaterais para componentDidUpdate.
- Se você estiver atualizando o estado sempre que os objetos forem alterados, refatorar seu código para usar técnicas de memorização ou movê-lo para estático getDerivedStateFromProps. Saiba mais em:
- Renomeie componentWillReceiveProps para UNSAFE_componentWillReceiveProps para suprimir esse aviso no modo não estrito. No React 17.x, apenas o nome UNSAFE_ funcionará. Para renomear todos os ciclos de vida descontinuados com seus novos nomes, você pode executar
npx react-codemod rename-unsafe-lifecycles
na pasta de origem do projeto.Atualize os seguintes componentes: ReactSwipableView
existe alguma maneira de se livrar desse erro, tentei UNSAFE_componentWillReceiveProps, mas nada mudou
componentWillReceiveProps
no seu componente ou é proveniente do seu pacote?Respostas:
Parece que isso já foi relatado aos mantenedores.
Agora, como consumidor de um software de código aberto, você pode:
componentWillReceiveProps
no repositórioPor fim, esse não é um erro relacionado ao seu software, mas às dependências em que ele se baseia. Não é realmente sua responsabilidade consertar isso. Se seu aplicativo for executado, tudo ficará bem. Os avisos de
react-dom.development.js
não aparecerão em produção.fonte
Use em
getDerivedStateFromProps
vez decomponentWillReceiveProps
Por exemplo:
Antes:
Depois de:
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html
fonte
Ocorreu um problema ao localizar onde o meu código componentWillReceiveProps estava sendo chamado. Percebi no aviso que ele mencionava um componente específico, "Drawer", que fazia parte do ant-d lib que estamos usando. Depois de atualizar o ant-d para a versão mais recente, o aviso foi embora.
fonte
É um erro comum que ocorreu ao reagir ao projeto nativo, para que possa ser resolvido seguindo as etapas:
-depois escreva o seguinte código no seu arquivo .js:
fonte