Sergey
Daniil
Тогда верно понял. Такой способ уместен. Пытался одно время втащить такое в прод, но код усложнился, а профита было мало. По итогу пришлось бы для новых разрабов указывать что это за дичь
Daniil
но такое хорошо помогает если залетают либы, которые не должны быыть на уровне сср и парсинга
Sergey
Daniil
Возможно и в этом конечно дело. Надо будет пересмотреть подход, тяжело было вообще такую идею впихивать в готовый проект особенно. Ведь иногда даже неочевидный момент не всегда не нужен для сео. Общение с заказчиком, ужс
Sergey
Daniil
Ну все тоже самое. Такое скорее у всех, кто поддерживает сео и учитывает ранжирование. Вот и приходят такие идеи
Sergey
Daniil
Да, это так. Но даже выигранная секунда рендеринга иногда обходится горелой жопой. Особенно если тебя просто позвали "помочь с оптимизацией"
Sergey
Sergey
Daniil
Один цсс файл, один жс файл и такое разгребать на новом проекте просто пиздец
Sergey
Daniil
🙃
Sergey
Я вообще думал, сейчас на React + TS пересядем, да как вжууух!!! Сообщество, готовые решения, всё на подносе уже.
По факту:
Только 2-3 недели убил на поиск стейт менеджера. Из сообщества человек 10-15, с которыми можно вести диалог или что-то спросить.
Sergey
Китикет
На эффекторе конечно остановились?)))
Sergey
Daniil
Байты, бойлерплейт. Возможно.
Daniil
Я в плане выбора вообще
Daniil
Больная тема при открытых проектах серчить либы
Sergey
Реатом? Мобх? А в чем проблема была если не секрет?
Reatom ❤️
Самый крит был, что SSR не мог "нормально" завести
+ ряд особенностей апи эффектора (просто уже вижу жёсткие гайдлайны и тщательные проверки проектных PR)
https://t.me/reatom_ru/7874
Китикет
Kurzdor
да и апи такое что вкатится можно за 15 минут
ладно, всем спокойной ночи народ
Kurzdor
мне самое что нравится то что санки из под коробки в реатоме
Kurzdor
и еще нужно сделать declareAsyncAction, но это уже скорее можно вынести в store/utils
Китикет
Интересно, а почему declare, а не create?)
Китикет
Арталар же вроде больше императивный код любит, а тут declare, которое имеет целых 6 общих букв со словом declarative в начале
Sergey
Китикет
Китикет
Китикет
Ладно, спокойной всем) Спс за дискуссии
Sergey
Vitalii
как обратиться к стилям текущего компонента?
Vitalii
я знаю, что так не работает, просто, чтобы вы понимали, что я имею ввиду
Sergey
Vitalii
ты хочешь из dom считать?
да, я знаю, что можно сделать объект и его передать атрибуту стайл, но может можно как то без этого
Vitalii
спасибо, сейчас попробую
Sergey
https://ru.reactjs.org/docs/hooks-reference.html#useref
и это
Vitalii
спасибо, помогло)
Sergey
Pavel
ребят в app.js есть функция, модалка, и во многих компонентах есть кнопка ее вызывающая, как прокинуть триггер какой нибудь в каждый компонент чтоб выполнять функцию?
Евгений
Pavel
function App() {
const [modal, setModal] = useState(null);
const handleForm = () => {
try {
setModal(<FormModal />);
} catch (e) {}
};
const appState = {
setModal,
handleForm
};
return (
<ThemeProvider theme={theme}>
<AppContext.Provider value={appState}>{modal}
в компоненте я пробую получить как
const handleForm = useContext(AppContext);
верно?
Евгений
Зачем try/catch, appState с дублирующим функционалом? Но в целом смысл правильный
Евгений
Модалки также лучше заводить через портал, т.к с z-index легче не промахнуться
Pavel
ну если даже сделать const handleForm = () => {
setModal(<FormModal />);
}; в компоненте я не понмял как мне на onClick повесить мой handleForm ((
Евгений
Можно setModal передавать, зачем доп функция делающая тоже самое?
Евгений
Тебе лучше самому это прочекать, это уже синтаксис
Pavel
у меня к примеру 10 компонентов, где есть кнопка, я пытаюсь понять как лучше сделать вызов чтоб не дублировать код )
Pavel
нужно в каждом компоненте сделать импорт FormModal и делать setModal(<FormModal />) ?
Pavel
ок попробую
Евгений
если есть спецы по редакс форм, подскажите, 2й день сижу с этой проблемой
суть: есть редакс форм и есть такая кнопка
const Button = () => {
const WrappedSome = () => <div>Жми</div>;
return (
<div onClick={() => alert('CLICK!')}>
<WrappedSome/>
</div>
)
};
Если на нее нажать покажется алерт. Вся проблема в том, что если в данный момент фокус находится в поле формы, события клик срабатывает только со 2го раза
Евгений
по дебагеру видно что фокус срабатывает 2 раза при onBlur, в коде самой библиотеки еще не полностью разобрался, возможно есть пропы, вроде (touchOnBlur, touchOnChange), которые регулируют этот момент при инициализации.
Евгений
Еще можно выставить срабатывание на следующий tick
<Field
onBlur={e => { e.persist(); setTimeout(() => this.props.input.onBlur(e);},0 );}}
/>
Но в большом приложении сетТаймаут нужно увеличивать, и это крайне костылевое решение
Dath
доброе утро господа нужно помш с добавлением данных в форму через
function isCheck(name) {
return document.querySelector('input[name="' + name + '"]:checked');
}
вот как дальше быть не понемаю
мне надо что бы эти данные выводились в эту форму
<input class="inp-lk-sk" type="number" name="vivod" value="" placeholder="Сумма вывода">
Pavel
тут чет я или мне поспать пойти или хз.. app.js - const [modal, setModal] = useState(null); const appState = {
setModal
}; <AppContext.Provider value={appState}>{modal}</AppContext.Provider> в компоненте const setModal = useContext(AppContext); и setModal("text"); получаю `×
TypeError: setModal is not a function`
Евгений
Pavel
если писать сразу так <AppContext.Provider value={setModal}> то все работает нормально.. =\
Андрей
Pavel
удивляет то, что в других проектах передавал кучу всего таким образом.. те const appState ={state1, state2} и AppContext.Provider value={appState} и там се работает )
Ivan
Ivan
Dath
Это точно реакт?
нет реакт не понадобился можно было банально оказывается в html и js сделать
Ivan