проблема в том, что когда вы хотите отобразить меню боковой панели, вы используете этот код
ReactDOM.render(<Parent />, app);
это означает, что просто вставьте то, что находится внутри элемента app
в ваш HTML-файл. результат будет похож на стирание ранее отрендеренного компонента и рендеринг нового. вот что вы видите здесь:
...some code
}
}
ReactDOM.render(<Parent />, app); <---- here
}
ReactDOM.render(<Navbar />, app); <---- and here
... morecode
вам не нужно визуализировать каждый компонент, который вы только что создали внутри корневого элемента напрямую. вам нужно сделать только самый верхний компонент ОДНАЖДЫ в нем
все остальные компоненты должны быть вложены в родительский, таким образом, вы будете визуализировать один родительский компонент внутри корневого элемента из файла html, и все остальные компоненты будут включены в него, импортировав их внутри вашего родительский компонент и использование их там, как показано ниже:
import React from 'react'
import ReactDOM from 'react-dom'
import B from './B'
class A extends React.component {
render() {
return(
<div>
<B />
</div>
)
}
}
ReactDOM.render(
<A />,
document.querySelector('#app')
)