Size: a a a

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

2020 November 23

И

Иван in React — русскоговорящее сообщество
Николай Фадеев
Вот есть stateful компонент. Можно указывать просто state = {}, но так же можно через конструктор указывать. В чём разница, каким способом лучше делать и почему?
синтаксис разный, в конструкторе старый, вне конструктора новый
источник

НФ

Николай Фадеев... in React — русскоговорящее сообщество
Иван
синтаксис разный, в конструкторе старый, вне конструктора новый
благодарю
источник

И

Иван in React — русскоговорящее сообщество
Николай Фадеев
Вот есть stateful компонент. Можно указывать просто state = {}, но так же можно через конструктор указывать. В чём разница, каким способом лучше делать и почему?
синтаксис языка JavaScript, не реакта
источник

И

Иван in React — русскоговорящее сообщество
Parhosha
тогда еще глупый вопрос о экспортах:
все экспорты собираются в одном месте, но нужно еще вместе с ними экспортнуть в собирающую функцию  инициирующие значения для всех, где их передать ?
источник

GO

Green Orange in React — русскоговорящее сообщество
Dmitriy Shuleshov
Мемоизация должна быть внутри реализации хука useAuth
все равно бесконечный цикл рендеров. я неправильно сделал мемоизацию?
const authContext = createContext();

export function ProvideAuth({ children }) {
 const auth = useProvideAuth();
 return <authContext.Provider value={auth}>{children}</authContext.Provider>;
}

export const useAuth = () => {
 return useContext(authContext);
};

function useProvideAuth() {
 const [user, setUser] = useState(null);

 const signin = (email, password) => {...};
 const signup = (email, password) => {...};
 const signout = () => {...};
 const getAccessToken = () => {...};

 useEffect(() => {
   const unsubscribe = fakeAuth.onChange((user) => {
     if (user) {
       setUser(user);
     } else {
       setUser(false);
     }
   });

   return () => unsubscribe();
 }, []);

 const auth = useMemo(() => {
   return {
     user,
     signin,
     signup,
     signout,
     getAccessToken,
   };
 }, [user]);

 return auth;
}
источник

И

Иван in React — русскоговорящее сообщество
Parhosha
тогда еще глупый вопрос о экспортах:
все экспорты собираются в одном месте, но нужно еще вместе с ними экспортнуть в собирающую функцию  инициирующие значения для всех, где их передать ?
глупые вопросы про экспорты, это сюда – @js_noobs_ru
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Green Orange
все равно бесконечный цикл рендеров. я неправильно сделал мемоизацию?
const authContext = createContext();

export function ProvideAuth({ children }) {
 const auth = useProvideAuth();
 return <authContext.Provider value={auth}>{children}</authContext.Provider>;
}

export const useAuth = () => {
 return useContext(authContext);
};

function useProvideAuth() {
 const [user, setUser] = useState(null);

 const signin = (email, password) => {...};
 const signup = (email, password) => {...};
 const signout = () => {...};
 const getAccessToken = () => {...};

 useEffect(() => {
   const unsubscribe = fakeAuth.onChange((user) => {
     if (user) {
       setUser(user);
     } else {
       setUser(false);
     }
   });

   return () => unsubscribe();
 }, []);

 const auth = useMemo(() => {
   return {
     user,
     signin,
     signup,
     signout,
     getAccessToken,
   };
 }, [user]);

 return auth;
}
Все верно сделали но уходит в луп так как в одно обьекте контекста у вас все лежит и юзер и функции, юзер сменился сменилась ссылка.

Попробуйте разделить на контекста
источник

О

Олег in React — русскоговорящее сообщество
никто не сталкивался с тем что jest не находит svg . пишет cannot find module '....svg'?
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Олег
никто не сталкивался с тем что jest не находит svg . пишет cannot find module '....svg'?
moduleNameMapper нужно настроить
источник

О

Олег in React — русскоговорящее сообщество
Тимофей 🛴
moduleNameMapper нужно настроить
🙏
источник

GO

Green Orange in React — русскоговорящее сообщество
Dmitriy Shuleshov
Все верно сделали но уходит в луп так как в одно обьекте контекста у вас все лежит и юзер и функции, юзер сменился сменилась ссылка.

Попробуйте разделить на контекста
спасибо большое. но я не вижу разницы когда один контекст и два, как будто все равно будет уходить в луп.
но это я не знаю почти ничего про хуки, я сам изучу и попробую на два контекста разделить.

а пока - почему плохо через useRef? ведь вообще никаких ошибок нигде не появляется :D
источник

GO

Green Orange in React — русскоговорящее сообщество
и работает как надо на первый взгляд
источник

D

Drews in React — русскоговорящее сообщество
Ребят в React Router 5 - HashRouter не реагирует на history.push(url), где мог косякнуть?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Green Orange
спасибо большое. но я не вижу разницы когда один контекст и два, как будто все равно будет уходить в луп.
но это я не знаю почти ничего про хуки, я сам изучу и попробую на два контекста разделить.

а пока - почему плохо через useRef? ведь вообще никаких ошибок нигде не появляется :D
1. правила хуков не обязательны и иногда их можно нарушать если вы уверены в правильной работе кода
2. реф просто не для этого
источник

DM

Denis Marcynjuk in React — русскоговорящее сообщество
Есть вопрос.
Настроил pre-commit в create-react-app
использовал husky и eslint правила и команду eslint --ignore-path .gitignore --fix

все работает, все супер.

но процес push изменений занимает около 30 сек.
+ для управления ветками использую GitKraken

так вот, после настройки он подвисает когда, push изменения или делаю switch    между ветками.

может кто то подсказать как оптимизировать pre-commit
???
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Denis Marcynjuk
Есть вопрос.
Настроил pre-commit в create-react-app
использовал husky и eslint правила и команду eslint --ignore-path .gitignore --fix

все работает, все супер.

но процес push изменений занимает около 30 сек.
+ для управления ветками использую GitKraken

так вот, после настройки он подвисает когда, push изменения или делаю switch    между ветками.

может кто то подсказать как оптимизировать pre-commit
???
lint staged
источник

И

Иван in React — русскоговорящее сообщество
Denis Marcynjuk
Есть вопрос.
Настроил pre-commit в create-react-app
использовал husky и eslint правила и команду eslint --ignore-path .gitignore --fix

все работает, все супер.

но процес push изменений занимает около 30 сек.
+ для управления ветками использую GitKraken

так вот, после настройки он подвисает когда, push изменения или делаю switch    между ветками.

может кто то подсказать как оптимизировать pre-commit
???
Возьми lefthook вместо хаски и lint-staged, он поприятнее и умеет много всякрнр, чего не умеет хаски. Ну и да, подтормаживает скорее всего из-за того, что еслинт обходит все файлы, а надо обходить только изменённые. Лефтхук умеет это из коробки
источник

E

Endifai in React — русскоговорящее сообщество
Всем привет. Есть вопрос по electron + react. Делаю приложение для мак версии. И хочу добавить функционал для шаринга данных посредством контекстного меню. Необходима возможность расшарить по почте, в заметки, напоминания и через airdrop. Нашел возможность использовать web share api, но в электрон оно не работает. Возможно ли вообще это реализовать?
источник

ДК

Даниил Кондратьев... in React — русскоговорящее сообщество
Ребят, есть какой-то способ прям в стейте редакса задать переменной countItemsInCart значение itemsInCart.length ?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Endifai
Всем привет. Есть вопрос по electron + react. Делаю приложение для мак версии. И хочу добавить функционал для шаринга данных посредством контекстного меню. Необходима возможность расшарить по почте, в заметки, напоминания и через airdrop. Нашел возможность использовать web share api, но в электрон оно не работает. Возможно ли вообще это реализовать?
источник