Size: a a a

React — русскоговорящее сообщество

2020 July 06

F

Frenky in React — русскоговорящее сообщество
Понял
источник

F

Frenky in React — русскоговорящее сообщество
Александр Бакиматов
ну значит песочница
Вот во втором варианте с другим стм я этот рубеж уже сделал и там все четко, нет ререндеров) поэтому я тогда и говорил, что на глаз вижу скорость загрузки и тормоза. Там то мемоизация с коробки, а тут вот пока не получается, понятно, что я сам, что то не то сделал

Но старт одинаковый был и там получилось, а тут лишние телодвижения от меня какие то требуются
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Frenky
Вот во втором варианте с другим стм я этот рубеж уже сделал и там все четко, нет ререндеров) поэтому я тогда и говорил, что на глаз вижу скорость загрузки и тормоза. Там то мемоизация с коробки, а тут вот пока не получается, понятно, что я сам, что то не то сделал

Но старт одинаковый был и там получилось, а тут лишние телодвижения от меня какие то требуются
хочу тебя расстроить, если у тебя там 24 рендера - дело не в мемоизации)
источник

ИМ

Иван Моров in React — русскоговорящее сообщество
Извините за оффтоп, а в какой чатик с вопросами по файрбейсу?
источник

F

Frenky in React — русскоговорящее сообщество
Александр Бакиматов
хочу тебя расстроить, если у тебя там 24 рендера - дело не в мемоизации)
В принципе это даже хорошо, я думал из за нее
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Иван Моров
Извините за оффтоп, а в какой чатик с вопросами по файрбейсу?
🤔
источник

ИМ

Иван Моров in React — русскоговорящее сообщество
pretty simple
источник

И

Иван in React — русскоговорящее сообщество
Frenky
Он каждый раз возвращает массив с одинаковым количеством чисел [0, 1, 2, 3] и каждый раз идёт перерендер да.

Я так понимаю тут где то мемоизацию нужно применить, но чёто не пойму где

Например в селекторах именно этот я по идее мемоизировал, с помощью reselect, но разницы не вижу никакой
Прочитай в документации useSelector часть, где написано «с reselect используйте осторожно»
источник

AM

Ando Meneshyan in React — русскоговорящее сообщество
Коллеги здравствуйте, может кто нибудь подсказать как правильно применить debounce в компоненте
export const setSearchQueryHandler = (query) => {
 return (dispatch,getState) => {
   let result = findBook(query); // предполагает запрос
   if(result.length){
     dispatch(setSearchQuery(query,result))
   }else {
     result = 'no match';
     dispatch(noSearchQuery(query,[]))
   }
 }
}


/* Container */
import Filter from '@components/Filter/Filter';
import { setSearchQueryHandler } from "@actions/filter";
import { useSelector,useDispatch } from "react-redux";

export const FilterContainer = () => {
 const dispatch = useDispatch();
 const setSearchQueryHandlerMemo = useCallback((param) =>{
   dispatch(setSearchQueryHandler(param))
 },[dispatch]);
 return <Filter
 setSearchQueryHandler = { setSearchQueryHandlerMemo }
 />
}

/* Component */
import {debounce} from 'lodash'

const Filter = ({
 setSearchQueryHandler
  }) => {
 const handleChange = (e) =>{
   let value = e.target.value.trim();
   if(value.length > 0){
       setSearchQueryHandler(value)
   }
 }

 return (
   <Menu secondary>
     <Menu.Item>
       <Input
         onChange={handleChange}
         placeholder="Введите запрос"
         icon="search"/>
     </Menu.Item>
   </Menu>
 )
}
источник

F

Frenky in React — русскоговорящее сообщество
Иван
Прочитай в документации useSelector часть, где написано «с reselect используйте осторожно»
Хорошо, я подключил ее в последний момент, когда отчаялся уже искать откуда эти ререндеры, думал из за мемоизации, но не помогло и говорят вообще дело не в ней
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
Иван
Прочитай в документации useSelector часть, где написано «с reselect используйте осторожно»
та он там в другом месте что то намутил судя по всему)
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
все еще ждем песочницу🤷
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
хотя Иван прав, почитать стоит
источник

F

Frenky in React — русскоговорящее сообщество
Я завтра скину, там много всего, я попробую выпилить по максимуму не нужное и скину
источник

И

Иван in React — русскоговорящее сообщество
Frenky
Хорошо, я подключил ее в последний момент, когда отчаялся уже искать откуда эти ререндеры, думал из за мемоизации, но не помогло и говорят вообще дело не в ней
Дебажь редьюсер — он, судя по всему, многовато вычисляет и компонент получает «новый» стейт слишком дохера. Ты в редьюсере по дефолту возвращаешь ту же ссылку или новую?
источник

И

Иван in React — русскоговорящее сообщество
Frenky
Я завтра скину, там много всего, я попробую выпилить по максимуму не нужное и скину
Покажи редьюсер
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
мож useEffect какой нить без второго аргумента🤔
источник

АБ

Александр Бакиматов... in React — русскоговорящее сообщество
ванга mode on
источник

И

Иван in React — русскоговорящее сообщество
Александр Бакиматов
мож useEffect какой нить без второго аргумента🤔
Что-то заставляет редакс пересчитывать одно и то же значение как новую ссылку, такое чувство
источник

И

Иван in React — русскоговорящее сообщество
источник