Извините, если заголовок не имеет смысла, но под страницами CRUD я подразумеваю такие страницы, как /posts
для отображения всех сообщений, /posts/create
для отображения формы для создания сообщения, /posts/:id/edit
для отображения указанной формыно с данными для обновления
В настоящее время у меня есть следующая структура:
Post
--index.js
--form.js
--edit.js
--create.js
--list.js
hoc
--PostHOC.js
Post / index.js
import PostList from './list';
class Post extends Component {
render() {
<PostList posts={this.props.posts} /> // extracted from Redux
}
}
Post / list.js
const List = ({ posts }) => {
const postList = posts.map(post => (
<div>
{ post.title }
</div>
));
return (
<div>{ postList }</div>
);
}
Post / form.js
const Form = props => {
return (
<SomeImportedForm>
<Input defaultValue={this.props.title} /> // extracted from HOC
</SomeImportedForm>
);
}
export default PostHOC(Form);
Тогда Post/edit.js
и Post/create.js
в основном выглядят одинаково (я просто импортировал form.js
к ним, я мог бы удалить оба и толькоотображать форму и отображать данные в зависимости от URL)
Я нашел в Google хорошие способы структурирования CRUD-страниц с помощью React, но, к сожалению, я не смог их найти.Поэтому я решил спросить здесь вместо этого.Любые советы о том, как я могу улучшить это?Кроме того, для краткости я оставил некоторый код, но я считаю, что этого достаточно, чтобы все поняли, что я пытаюсь сделать.