Я пытаюсь реализовать то, что я узнал на сайте. Я строю свою первую часть своего сайта «nav bar»Должны ли они быть компонентами или контейнерами в Reactjs + Redux
Наверху у него есть логотип и 2 ссылки (кнопка дома, выход из окна) и боковой навигационный бар (MaterilizeCss sidenav) (превращается в меню гамбургеров на мобильном телефоне).
Теперь сторона нав имеет этот
Список всех студентов курсов (когда они нажимают на ходу он загрузит этот курс в середине веб-контейнера)
Под списком своих курсов это кнопка «добавить курс», чтобы добавить дополнительные курсы.
Теперь
Я смущен, что они должны быть контейнером или компонент? Прямо сейчас я сделал свой NavBar контейнером.
Хотя я думаю, что отображение «курсов» будет компонентом (хотя я предполагаю, что это может быть контейнер с списком курсов, а затем компонент, конечно) и «добавить курсы» также будет компонентом.
У меня также есть компонент приложения (но, возможно, он должен быть контейнером), в котором будут все остальные контейнеры/компоненты.
export default class App extends React.Component {
render() {
return (
<NavBar />
)
}
}
Мысли?
Редактировать
У меня есть некоторый код (HTML-код). Это может сделать его легче увидеть, как я должен разбить его
<nav className="light-blue">
<div className="nav-wrapper container">
<a id="logo-container" href="#" className="brand-logo">App</a>
<ul className="right hide-on-med-and-down">
<li><a href="/Home/Index"><i className="fa fa-2x fa-home" aria-hidden="true"></i></a></li>
<li><a href="/Account/SignOut"><i className="fa fa-sign-out fa-2x " aria-hidden="true"></i></a></li>
</ul>
<ul id="slide-out" className="side-nav fixed">
<li>
<a href="#!">Course 1</a>
</li>
<li>
<a href="#!">Course 2</a>
</li>
<li>
<a href="#!">Course 3</a>
</li>
<li>
<a className="waves-effect waves-light"><i className="fa fa-plus" aria-hidden="true">Add</i></a>
</li>
<li className="hide-on-large-only"><a href="/Home/Index">Home</a></li>
<li className="hide-on-large-only"><a href="/Account/SignOut">Signout</a></li>
</ul>
<a href="#" data-activates="slide-out" className="button-collapse"><i className="material-icons">menu</i></a>
</div>
</nav>
У меня есть этот компонент:
export default class App extends React.Component {
render() {
return (
<NavBarContainer />
)
}
}
Так прямо сейчас NavBarContainer выкладывает весь HTML, который я отправил. Мне, конечно, нужно разобраться.
Я мог бы иметь SideNavContainer, а затем компонент курса.
Может у вас есть контейнер в контейнере? У меня есть мой App.js, что похоже на главный контейнер для всего веб-сайта. – chobo2
Уверен, что это не проблема. – Hardy
Моя ошибка. Это действительно в моей папке «Компонент». Я отправил код выше, но не уверен, должен ли он быть там или нет. Я следил за этим https://github.com/buckyroberts/React-Redux-Boilerplate – chobo2