Pull to refresh
2
0
Send message

Не нужно быть наивным. Курица не имеет отходов

Уп. Хм, могу ошибиться. Но точно знаю, что даже кишки варят, ток я уже не помню зачем

Люблю еще, когда желток оранжевый, а не бледно-желтый, это тоже влияет на вкус. Оранжевые вкуснее.

а я шарю. Приезжает короч машина с 3тонны бочкой. Там рукав как хобот у слона. Берешь рецепт в кормозаготовительном цеху.
И далее по рецепту:
1) зерно + шрот - (пару тонн)
2) известь что ли, не помню уже (пару сотен кг)
3) добавки (от нескольких сотен грамм до 1 кг)

и вот в пункте три мы раз косячнули) на три тонны дали не один пластиковый стаканчик, а два. Желтки были краснющщими на следующий день, мы перебрали с химией, люлей получили) с 1 баночкой цвет как вы любите, с 2 - кровавый, без баночек - просто желтый.

в убойный цех. В этих же клетках, в которых живут могут привозить. Потом вешаешь кур вверх ногами на конвеер и курица уезжает. Через пару метров их встречает "секатор", который рубит головы. Ну и так далее. Клетки на мойку, а машину грузишь новыми клетками, которые уже вышли с мойки

именно тот, что выше с функцией - примерно наверное никогда)

Но вот чтобы сделать быстрый доступ по id из мапы - почему нет

const users = [
{
id: '1',
//...rest,
}
]

const usersMap = users.reduce((tempUsersMap, userData) => ({...tempUsersMap, [userData.id]: userData}),{});

const userById = usersMap[users[0].id]

разные - все верно. Сущности разные, тип одинаков. По сущностям - одно из "ordinary" второе из "non ordinary -> exotic"

например если хочешь высчитать ключ динамически

const obj = { [(() => {
//...some logic
return 'new key'
})()] : 'test'}

эмм, да, а где минусы то?

Понравилось, спасибо

В конце вы описали кодом крутые примеры, но хотелось бы ссылки на песочницу или гифки. Я ленивый, простите )

давайте там где :has вместо +, если вы не против?

Мне для самообразования. Вот вы указали, что централизованный кеш не подошел из-за того, что это сетевой запрос.

Но в тоже время вы заюзали "централизованную" кафку. Разве общение с ней, не есть сетевые запросы или ... ?

Если вы ждёте от сообщества помощи, то выбрали неправильную стратегию общения с ним.

Иронично

не, это скорее типа парирование. Вы выдвигаете это как минус, я просто говорю, что это можно починить.

А удобство - дело вкуса. Мне, как фронтендеру - да, более чем. Бэк сторону не знаю, поэтому и не сужу

GET /v1/users/:id - это плохо! в списке запросов инструментов браузера в строке будет показан одинокий нечитабельный айдишник, а полный путь с методом отображается только по дополнительному клику в отдельной вкладке .

так это ж настраивается

Я кажется понял вас.

Нет, я не хочу изменяя ref.current заставлять компоненту ререндерится.

Мне не нравится решение проблемы, которое предложил автор. Хук переписан так, что с наскоку непонятно, что в нем происходит, приходится вчитываться, а я это не люблю.

Я бы предложил решать проблему все таки через ссылку и первую реализацию(якобы косячную), потому что она приятно и легко воспринимается.

Всего лишь вместо

const elemRef = useRef();

useResizeObserver({ elemRef, onResize: handleResize })

<div ref={ref}/>

Сделать

const [elemRef, setRef] = useState();

useResizeObserver({ elemRef, onResize: handleResize })

<div ref={setRef}/>

Тут "движок" реакта разберется когда сетнуть новую ссылку на элемент, а когда она осталась неизменной. Но все таки есть конечно слабые места, но пока до них не дошли, мне кажется, что первая "косячная" реализация хука более приятная, очевидная и менее запутанная

ааа, вы про это.

конечно изменение рефа ничего не триггерит

Я лютый приверженец MobX, но справедливости ради стоит отметить, что в нем тоже все , что читает observable поля должно быть завернуто в observer, у которого под капотом React.memo

Information

Rating
Does not participate
Registered
Activity

Specialization

Фронтенд разработчик
Старший
JavaScript
TypeScript
CSS
React
MobX
CSS-in-JS
Webpack