Cenator 🐈
variables: { id, input: { email, { …fields } } }
Hlib
Огромное спасибо!
Получилось 🙂
S
Есть массив в котором много обьектов, внутри них ещё обьекты? Как вы изменяете обьекты когда такая вложенность в redux. Пока что нашел immutability helper, кроме него слышал делят редюсеры и привязывают их к каждому объекту, что посоветуете?
Александр
S
Dmitry
Dmitry
https://www.mockapi.io
S
Vadim
Ребят, кто юзает react+typescript и линтит через eslint (не tslint) - скиньте конфиг eslint в лс , пожалуйста
Vadim
Ну с тслинтом каждый может) но вроде ж скоро тслинт весь в еслинт переедет, я вот и решил попробовать. Но есть проблемки.
artalar
он ж деприкейтед либо уже либо вот-вот
Viktor
Я ещё пока не очень силен в реакте, но подскажите мне, зачем нужно использовать различные css либы, если есть css модули?
artalar
Roman
Mihail
https://gedd.ski/post/state-machines-in-react/
Mihail
Alexander
От какого порога считать, много пакет весит или нет?
Roman
можно пробросить history чтоб он был доступен в redux thunk
Artem
Вывод в логе false, но идет по ветке true почему так?
Roman
- создаёшь history из createBrowserHistory
- используешь Router вместо BrowserRouter и передашь ему эту хистори
- также передаешь ту же хистори когда создаёшь store. у redux-thunk есть фабрика withExtraArgument или как-то так
- во всех thunk теперь у тебя будет приходить (dispatch, getState, history)
- можешь делать history.push
Roman
https://github.com/reduxjs/redux-thunk/blob/master/README.md#injecting-a-custom-argument
вот
Artem
сам вчера это делал, но прокидывал хистори по-другому, сделал так как подсказал Роман, все работает, спасибо
Artem
applyMiddleware(thunk.withExtraArgument({ history }))
return (dispatch, getState, { history }) => {
Там объекты, вроде это важно
Artur
Всем прив! Подскажите пож есть форма поиска интерактивная с подсказками для ввода и последним вводом (5 последних) стоит ли куда то вот эти 5 последний выносить в redux или можно хранить в самой форме в стейте?
SENATOR ARMSTRONG
Всем привет. Есть ли смысл писать самому гриды или есть достойные библиотеки для реакта? Нужна пагинация, сортировка и всё. Ну и возможно открытие деталей каких-то при клике на строку
Artem
SENATOR ARMSTRONG
setState это асинхронная операция, мб из-за этого такое поведение
Sm•ok
Sm•ok
Он ведь будет этот метод вызывать на каждую смену стейта => и логи будут те же
Artem
Sm•ok
А что там можно запутать?
Не знаю. Надо чекать код. А ты уверен что ты верно построил условие тернаркой и ты верно меняешь стейт без мутаций?
Sm•ok
Sm•ok
Глянь что там и ещё раз проверь что в рендер прилетает. Вряд-ли будут разные значения
Artem
Sm•ok
Artem
Sm•ok
да
Но в рендере он берет первый?
Artem
Кстати если сделать изначально true, то он отработает по ветке false и потом получит false и отработает по ветке true
Sm•ok
false
? Мем с Дрейком нет
: Мем с Дрейком да
Sm•ok
Ты уверен что понял как работает с тернаркой своей при фолс?
Artem
даже так по ветке тру идет
Sm•ok
Меняй свои компоненты
Sm•ok
Если я ничего не упустил. Попробуй
False ? "One" : "two"
Если это работает, дело в твоих компонентах
Artem
false выводит two
Artem
А как можно дождаться загрузки данных и только потом выполнить render?
Artem
Aleksandr
А покажи как стало)
Artem
Aleksandr
Я про скрин, который был изначально) но если ты про AuthStatus, то тогда не надо:)
Yanush
заголовок и прочее относятся к этому компоненту, который ждет загрузки?
Artem
Artem
Aleksandr
Ясно понятно:)
Просто было предположение, что data.status = 'false' а 'false' !== false
Sm•ok
Попробуй заменить фрагмент на <> </>
Или у тебя старая версия реакт
Sm•ok
Yanush
Да
так а в чем проблема тогда перенести заголовок итд в компонент, отображение которого зависит от асинхронного риквеста? по-сути ты не будешь его рендерить (включая заголовок), если у тебя нет данных для его отображения
Artem
Это заголовок на всех страницах, поэтому он вынесен за пределы роута
Sm•ok
loaded && urComponent
Ну или в ребенке можешь сделать
Тернаркой и если не загрузилось,то возвращать нул или emptyView
Sm•ok
const FnComp = ({isLoading}) => {
const loadingView = isLoading && "загрузка..."
const defaultView = !isLoading && (ur jsx)
return (
<>
{emptyView}
{defaultView}
</>
)
}
Писал с мобилы. Подправь сам
Artem
Спасибо за помощь, вот так сделал
Yanush
Yanush
вместо return <React.fragment/> ты можешь просто вернуть null
Artem
Andrei
подскажите правильный путь сравнивать дробные число, а то 1.00254654 > 1.00875765
Anonymous
Andrei
Anonymous
Лучше знать
проблему в лицо :)