Konstantin
Не нашел чатов по быстрому
rovnyart
rovnyart
в общем, похоже в моем случае только глушить правило поможет, всем спасибо
Konstantin
Ilya
rovnyart
то есть обернуть ее в useCallback?
rovnyart
в том месте, где она определена
Александр
Александр
artalar
rovnyart
например
а как это по-нормальному сделать? У меня проект весь на классах, я только вот сейчас по заветам Абрамова для новых компонентов использую хуки. Дата провайдер, где определена эта loadIntegrations написан классом, со своими setState и тд. Я же не могу просто вот в том же месте, где щас взять и написать типа const fetchData = useCallback(this.props.data.loadIntegrations)
rovnyart
а в том месте, где она определена вроде как нельзя использовать useCallback
Александр
Александр
Если покажите код где определена эта функа то может станет понятнее
Daniil
гайс, хелп, есть Formik (инпут с валидацией) справа абсолютом наложена (икнка ошибки - когда есть, если нету - то иконка удалить), набираю текст в инпуте - всё ок, нажимаю на сбросить - вызывается onBlur всё красное - ошибки валидации, но коллбек на иконку (reset) не вызывается, клик фиксируется на всплытие в document.body, но reset не вызывается, как быть? Если onBlur не отдам инпуту, то всё работает прекрасно (без валидации)
El
Научный интерес, юниоры нынче предполагаются знать типизацию?
El
Сопротивляться? Это настаивать на Flow ?
Александр
Nikita
А у меня нет, тайпскрипт от лукавого
Nikita
🦜
Nikita
El
El
Полезно. В разных местах могут учить, могут "сам учи".
Альберт
Кто-нибудь работал с react-mapbox-gl от Uber? Что-то не пойму как на определенный слой навесить событие, подскажите плз.
Александр
El
Такие есть? В своё время я бы далеко был от сопротивления.
Александр
Как няньки стоять и утешать при каждом undefined is not a function не очень весело
Александр
Никита Суханов
nom run build такая ошибка. что могло пойти не так?
El
Блоки кода или логов можно выложить, поместив между парой ```.
Александр
Никита Суханов
Dmitriy
Mikhail
че че сделал?
заменил в бандле react.createElement на кастомный импорт, ибо react.createElement("div") минифицируется в e.createElement("div"), a кастомный импорт типа MyReactCreateElement -> e("div")
Mikhail
я не знаю, может cra это подефолту делает, но я с него ушел год назад на rollup, т.к. продакшен-бандл меньше был процентов на 10
Александр
Mikhail
Не совсем понятно какой импорт заменили, можете поподробнее
babel({
presets: [
["@babel/react", {"pragma": "ReactCreateElement"}],
],
plugins: [
["babel-plugin-jsx-pragmatic", {module: "ReactCreateElement", import: "ReactCreateElement"}],
],
}),
Mikhail
ReactCreateElement:
import React from 'react';
export default React.createElement;
Александр
Понятно, надо тоже так попробовать, у меня не babel правда, но для tsc тоже можно кастомную фабрику для jsx элементов задавать
Артём
если мне нужно передать реф элемента наверх через 2 промежуточных функциональных компонента, я их предварительно должен создать через React.forwardRef()?
Mikhail
Артём
Alex
const actionOne = () => dispatch => {
dispatch({
type: "ACTION_ONE",
payload: "The_action_itself"
})
}
Люди, что это за синтаксис такой? Ктонибудь может объяснить? (пример работает, но хотелось бы детально разобраться)
Alexandr
Alexandr
Mikhail
Alex
dispatch внутри actionOne?
Лёва 🎃
Функция которая возвращает функцию которая шлёт диспатч куда-то
Лёва 🎃
Это кстати в @js_noobs_ru
Mikhail
Никуда диспатч не пересылается, не надо
Лёва 🎃
Alex
А последний dispatch - это функция которая аргументом принимает объект?
Mikhail
Mikhail
Но можно и такую же функцию как и actionOne в него передать
Alex
То есть первый dispatch - это объявление, а второй - callback?
Mikhail
Тут функциональщина головного мозга: есть функция, которая возвращает функцию, куда передается другая функция, куда передают уже объект экшена
Mikhail
Mikhail
Всё ради того, чтобы не иметь глобальную функцию диспатч, чтобы она инжектилась динамически в рантайме, если захочется больше одного стора иметь
Mikhail
Не представляю как это дебажить, если ещё и диспатчиться будет в разные сторы..
Mikhail
Alex
Alex
Mikhail
const actionOne = function () {
return function (dispatch) {
dispatch({
type: "ACTION_ONE",
payload: "The_action_itself"
})
}
}
倫太郎