p
В какой момент эти данные нужно в БД отправлять? Из редюсера вызывать такие методы не стоит
по обновлению этой части состояния только когда в редюсер action соответсвтующий вызван например удобно что тут же обновления видны, сравнивать не нужно
G.
по обновлению этой части состояния только когда в редюсер action соответсвтующий вызван например удобно что тут же обновления видны, сравнивать не нужно
Выглядит подходящим кастомный middleware который будет отлавливать этот экшн и отправлять запрос, там же и данные из store брать можно
Vladyslav 🍉
Добрый день, имеется следующий код https://codesandbox.io/s/sweet-rgb-7nl0h, не могу решить проблему с фильтрацией данных, возможно проблема в reducers или app, в общем очень был бы признателен за помощь
p
Выглядит подходящим кастомный middleware который будет отлавливать этот экшн и отправлять запрос, там же и данные из store брать можно
у меня редюсеры динамически подгружаются и их много, разными людьми пишутся. Если я middleware под такие задачи добавлять начну, то уж лучше из редюсера отправлять) вообще думаю из actions нужно отправлять, у меня там все взаимодействие с сервером.
p
да шучу я про редюсеры, че вы)
Александр
Он должен быть чистой функцией от текущего состояни и текущего актиона и только так
Александр
да шучу я про редюсеры, че вы)
Фух, вы поосторожнее бы, а тут такого бывает прочитаешь, что корвалол пить приходится
p
Что ты имеешь ввиду под actions? Просто ты там экшн не перехватишь. А в миддлвере можно
action передается в контейнер как свойство. Из контейнера вызывается. Если это action который обновит нужную часть состояния, то отправлять данные на сервер. как-то так пока придумал
Ruslan
Привет, кто работал с react-stripe-elements?Поля из либы вообще как то кастомизировать без костылей можно?А то даже border не дает поставить или отступы
G.
action передается в контейнер как свойство. Из контейнера вызывается. Если это action который обновит нужную часть состояния, то отправлять данные на сервер. как-то так пока придумал
Тогда уж логичнее передавать нужную часть state в container и там сверять с предыдущим. Это по сути то, что можно было в миддлвере сделать, будет в компоненте
p
Тогда уж логичнее передавать нужную часть state в container и там сверять с предыдущим. Это по сути то, что можно было в миддлвере сделать, будет в компоненте
а на сервер отправлять вызывая action, переданный как свойство? карусель какая-то получается, да и то что не связано с отображением не хочется в компонент засовывать
G.
не хочу взаимодействие с сервером в контейнер класть.
Логично это было бы сделать в миддлвере как я тебе писал. Но раз ты не хочешь, тогда как ты собираешься сделать?
p
Логично это было бы сделать в миддлвере как я тебе писал. Но раз ты не хочешь, тогда как ты собираешься сделать?
Как чуть выше писал. В экшене, который обновляет нужную часть редюсера беру стейт, складываю стейт и данные полученные экшеном и вызываю другой экш. А он уже отправляет на сервер. Получается какбы двойная работа по складыванию данных (в экшене и редюсере), но что делать...
G.
ага
Тогда в чем проблема была, если ты знаешь в какой момент это нужно делать и тебе не надо никакие экшн перехватывать. В санке и делай
Максим
Как правильно повесить на метод onChange метод debounce из lodash? <InputSearch className="search__input" value={inputValue} placeholder="Wallpapers" onChange={value => this.changeInputValue(value)} onPressEnter={this.submitSearch} onSearch={this.submitSearch} style={{ width: '100%' }} />
Максим
А можно примерчик, плз
Максим
Вот мой код в целом: import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Input } from 'antd'; import debounce from 'lodash/debounce'; import './index.css'; const InputSearch = Input.Search; class Search extends Component { constructor(...args) { super(...args); const { queryText } = this.props; this.state = { inputValue: queryText, }; } componentDidUpdate = (prevProps) => { const { queryText } = this.props; if (prevProps.queryText !== queryText) { this.setState({ inputValue: queryText, }); } }; submitSearch = () => { const { inputValue } = this.state; const { onSearchInputValue } = this.props; if (inputValue) onSearchInputValue(inputValue); } changeInputValue = (e) => { const { onChangeInputValue } = this.props; this.setState({ inputValue: e.target.value, }, () => { const { inputValue } = this.state; onChangeInputValue(inputValue); }); }; render() { const { inputValue } = this.state; return ( <div className="search"> <InputSearch className="search__input" value={inputValue} placeholder="Wallpapers" onChange={value => this.changeInputValue(value)} onPressEnter={this.submitSearch} onSearch={this.submitSearch} style={{ width: '100%' }} /> </div> ); } }
Sergey
Ребята! Читайте this week in react & react newsletter. Вышла новая подборка новостей Начало здесь: https://t.me/this_week_in_react/244
modest
Кто-то может обьяснить в чем проблема?
modest
modest
modest
modest
на одном проекте работает, взял boilerplate на другой - ошибку кидате Module build failed (from ./node_modules/babel-loader/lib/index.js)
modest
переустанавливал лоадер тоже
modest
просто не понимаю почему оно не хочет работать
modest
Artem
в i18next можно сделать чтобы один язык import через js делался и показывался пока не загрузятся нужный язык по lazy loading?
Дима
Ребята! Читайте this week in react & react newsletter. Вышла новая подборка новостей Начало здесь: https://t.me/this_week_in_react/244
In most cases, React performance is not something you need to worry about. The core library does a ton of work under the hood казалось бы 🌚
Дима
😁
El
может кто объяснить почему store.dispatch может быть вызван из функции add и remove. вот код: https://gist.github.com/AlSharp/f7ebf549cb4a397d32a1bd6a2cede69c
El
может кто объяснить почему store.dispatch может быть вызван из функции add и remove. вот код: https://gist.github.com/AlSharp/f7ebf549cb4a397d32a1bd6a2cede69c
код взят отсюда https://redux.js.org/recipes/code-splitting я просто добавил store.dispatch() в методы add и remove. Я ожидал, что store будет undefined
modest
кто-то, все таки, может сможет помочь? Прикол в том… что полностью скопировал все с одного робочего проекта - уже все файлы - без исключения. И в скопированном показывает ошибку. Блядь, просто - какого хера тогда работает в одном проекте - а все точно тоже не работает в другом?
modest
Кто-то может обьяснить в чем проблема?
modest
modest
modest
modest
просто не понимаю почему оно не хочет работать
modest
Sergey
https://t.me/this_week_in_react/248
Dmitriy
да
Короче ден в одинокого пилит дд)
Sergey
Подскажите ребята плиз передаю пропс в компонент, и в самом компоненте, присваиваю их стейту.. но стейт пустой, так как они еще не подъехали, как пофиксить?
Dmitry
Привет. У меня есть приложение с react-роутером и моим react-компонентом. При запросе по определённому пути (с переменной в составе пути) роутер монтирует мой компонент и передаёт ему данные через properties. Какое событие я могу использовать, чтобы обрабатывать новые значения properties до рендеринга? В рендеринге я использую данные, которые передал роутер, прошедшие обработку.
Sergey
в стейте
Dmitriy
в стейте
Покажи как ты это делаешь
Sergey
state = { formSubmit: false, name: this.props.user.firstName ? this.props.user.firstName : '', age: this.props.user.age ? this.props.user.age + '' : '' };
Sergey
они ведь будут меняться.. наверно не стоит так делать с пропсами)
Sergey
Почему бы пропсы напрямую не присвоить инпутам в велью?
Dmitriy
они ведь будут меняться.. наверно не стоит так делать с пропсами)
И обработчики вынеси туда откуда идут пропсы.
Dmitriy
state = { formSubmit: false, name: this.props.user.firstName ? this.props.user.firstName : '', age: this.props.user.age ? this.props.user.age + '' : '' };
Нужно вроде как конструктор писать что б так работало. Но учти если потом пропсы поменяются то Стейт не обновится
Sergey
не обновиться, это да.. мне не подойдёт твой кейс с обработчиками, потому что я данные из стора беру, и как пропсы отправляю.. Возможно мне стоит напрямую из стора в компоненте брать данные а не ждать как пропсы —- Спасибо за ответ!)
Sergey
Нужно вроде как конструктор писать что б так работало. Но учти если потом пропсы поменяются то Стейт не обновится
Vladyslav 🍉
Добрый вечер, имеется следующий код https://codesandbox.io/s/sweet-rgb-7nl0h, не могу решить проблему с фильтрацией данных, возможно проблема в reducers или app, в общем очень был бы признателен за помощь
Kostya
In most cases, React performance is not something you need to worry about. The core library does a ton of work under the hood казалось бы 🌚
Тебе уже пора на конференции выступить, ибо знаний овердохрена. С блокнотиком сижу и сообщения записываю
Kostya
Ты казалось бы записал?)
Это не троллинг. Это я так коллегу хвалю. Есть чему поучиться 🤔
rovnyart
бля мак пивом залит, не работают палки вертикальные)
Vladyslav 🍉
ну ты обезопась код, ты же используешь connect
Как это, не понял.. У меня не особо опыта с redux