У меня есть простое приложение ReactJS на основе хуков (без классов) с использованием StrictMode.
Я использую React версии 16.13.1 и Material-UI версии 4.9.10.
На панели приложений я использую Drawer.
<div className={classes.root}>
<AppBar position="static">
<Toolbar>
<IconButton
edge="start"
className={classes.menuButton}
color="inherit"
aria-label="menu"
onClick={handleDrawerOpen}>
<MenuIcon />
</IconButton>
<Typography variant="h6" className={classes.title}>
Online Information
</Typography>
</Toolbar>
</AppBar>
<Drawer
variant="persistent"
anchor="left"
open={open}
></Drawer>
</div>
Я замечаю, что когда открываю ящик, я получаю следующее предупреждение.
Warning: findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance
of
Transition which is inside StrictMode. Instead, add a ref directly to the element you
want to reference. Learn more about using refs safely ....
in div (created by Transition)
in Transition (created by ForwardRef(Fade))
in ForwardRef(Fade) (created by ForwardRef(Backdrop))
in ForwardRef(Backdrop) (created by WithStyles(ForwardRef(Backdrop)))
in WithStyles(ForwardRef(Backdrop)) (created by ForwardRef(Modal))
in div (created by ForwardRef(Modal))
in ForwardRef(Portal) (created by ForwardRef(Modal))
in ForwardRef(Modal) (created by ForwardRef(Drawer))
in ForwardRef(Drawer) (created by WithStyles(ForwardRef(Drawer)))
Я нашел в Интернете ссылку на эту проблему, но до сих пор не могу понять, как ее решить.
Может кто-нибудь добавить обходной путь для этой проблемы?
Спасибо
StrictMode
включен по умолчанию при использованииReactDOM.createRoot
и / илиReact.ConcurrentMode
.. здесь есть несколько хороших обсуждений: github.com/styled-components/styled-components/issues/2154 - person Mahdi Abdi   schedule 18.05.2020title
props вместо передачи простой строки !!! - person Alireza Kavian   schedule 31.01.2021