Спасибо вам за интересную информацию. Возможно, в одном из роликов вы сможете рассмотреть тему возврата React компонента из хуков.
@sergei_sergeevu42 жыл бұрын
Не знаю почему, но youtube почему-то банит комментарии со ссылками. Хорошая статья на эту тему `blog.bitsrc.io/new-react-design-pattern-return-component-from-hooks-79215c3eac00` Пример Example E (usePopup) сделан по примеру ниже `codesandbox.io/s/return-component-from-hooks-eljr00?file=/src/ExampleE/usePopup.tsx` Пример от создателя react-table и react-query `kzbin.info/www/bejne/Y4bNk4d8mJ6BgpY codesandbox.io/s/how-to-return-components-from-react-hooks-tjmc8?file=/src/index.js`
@ayub_begimkulov2 жыл бұрын
Подумаю, что можно снять по этому поводу. Спасибо за предложение!
@sergei_sergeevu42 жыл бұрын
Было бы круто если бы в примерах был TypeScript)
@ayub_begimkulov2 жыл бұрын
Я бы был не против, сам являюсь большим фанатом TS'а, однако на данный момент многие еще плохо в нем разбираются, хотелось бы тут сфокусироваться чисто на самом React'е. Но идея хорошая, я думаю стоит в репозиторий с хуками из данных уроков добавлять версии с TS. Спасибо за фидбэк!
@sergei_sergeevu42 жыл бұрын
@@ayub_begimkulov Если честно благодаря TypeScript нашел ваш блог и канал)
@vladislavstepanov75912 жыл бұрын
А почему не использовать вместо кастомных serialize и deserialize взять JSON.stringify и JSON.parse?
@ayub_begimkulov2 жыл бұрын
Потому что `getSearchParam` будет возвращать null, если нету такого get параметра.
@seregaeinwanderer910 Жыл бұрын
Хай, это же для rrd5? на rrd6 useSearchParams?
@ayub_begimkulov Жыл бұрын
Да, в 6-й версии уже есть такой хук.
@ГенаПетров-н5ы2 жыл бұрын
Вместо if проверок на null, лучше использовать stringOrNullVar ?? ""
@ayub_begimkulov2 жыл бұрын
Это все дело вкуса, используй как тебе удобнее)
@sergei_sergeevu42 жыл бұрын
// Поможет не обрабатывать кейс с null в desirialize: (v) => (v ? v : "") function getSearchParam(search, param) { const searchParams = new URLSearchParams(search); return searchParams.get(param) ?? ""; } // Удалит при пустом value: ?name= function setSearchParam2(search, param, value) { const searchParams = new URLSearchParams(search); Boolean(value) ? searchParams.set(param, value) : searchParams.delete(param); return searchParams.toString(); }
@ayub_begimkulov2 жыл бұрын
Да, удаление параметра в данном примере я не рассматривал)