Какую архитектуру выбрать для приложения на React?
Приветствую! Буду очень благодарен за помощь!
Помогите пожалуйста понять, какую архитектуру приложения выбрать на фронте, и как лучше хранить данные. Пишу на React простое приложение каталог, с одной страницей, где выводятся данные в зависимости от результата фильтрации и сортировки пользователем. Данные можно получить в результате POST запроса к api, в тело запроса должен передаваться объект в определенной форме, который должен включать в себя все возможные результаты фильтрации и сортировки., api только один и его url не меняется(меняется только тело запроса). По умолчанию тело запроса всегда объект с полями filtering, sorting... Тело запроса должно формироваться в результате действий пользователя на странице, в зависимости от результата поиска, фильтрации и сортировки. Также важно, чтобы все сохранялось в query параметры роута, и тело запроса формировалось уже исходя их этих данных. То есть пользователь должен иметь возможность сохранить ссылку и перейдя по ней снова увидеть тот же результат… Спасибо за помощь, буду рад за любые наводки или примеры.
Если вы не знаете какую выбрать архитектуру, берите самую простую и популярную.
Для того что бы найти самую простую и популярную гуглите "react example project"
Александр, Спасибо! Да я ищу... но пока что не могу найти тот проект, который может подойти под мои требования... Из тех проектов, которые я делал ранее ни один не подходит в качестве примера к сожалению (
Например такой вопрос не понятен, нужно ли сохранять результаты фильтрации в стейте контекста или напрямую формировать тело запроса и выполнять запрос и уже сохранять только response. Таким образом все параметры фильтрации будут находится только в query параметрах роутера. Или же их также нужно хранить в стейте. Как правильно сделать, и так и так будет работать, но что из этого будет считаться правильным подходом?
Системный дизайн это не бизнес логика.
Системный дизайн не зависит от языка, фреймворка и всего в этом духе.
То что вы описываете это обычное клиент-сервер приложение.
Если вас интересует общение по определённому шаблону, то бишь api дизайн, есть паттерны и для этого, берите и используйте, допустим jsonrpc, openApi
Спасибо! Не совсем это имелось ввиду, я хочу понять, как мне лучше хранить данные на фронте и формировать тело запроса, хотелось бы понять какой паттерн использовать на фронте для подобного приложения. Так как оно не совсем стандартное...
Я сталкивался с разработкой приложение, где данные приходили по GET запросам и в url api добавлялись query params. На пример .../api/search?name=blala&type=kuku или же без query, но фильтрации происходили полностью на фронте То есть был большой GET запрос со всеми данными и на фронте полностью выполнялась логика фильтрации. А здесь есть url ../api/search и результаты фильтрации находятся в теле POST запроса. Бизнес логика вся на бекенде, а на фронте нужно только формировать тело запроса...
Стейт менеджер здесь вообще не нужен, можно наверное обойтись useContext и сервисом, который будет формировать тело запроса исходя из query params роутера. Все результаты фильтрации должны храниться не в сторе, а в query react-router-dom и извлекаться для формирования запроса. Хотелось бы понять, есть ли для этого подходящий паттерн, чтобы не усложнять разработку...