Size: a a a

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

2021 January 09

[{

[FG][ busy irl sry f... in React — русскоговорящее сообщество
Вопрос от нубика, только узнал про реакт контекст, даже не зная особо ничего про редакс чувствую что они близки, но вопрос немного про другое.

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

Почему первое плохо, а второе хорошо?
источник

Z

Zabashta in React — русскоговорящее сообщество
[FG][ busy irl sry for ignore ] { ᶠʳᵉᵉᶻᶻᵉᵉ ★ : ' instamuted ' };
Вопрос от нубика, только узнал про реакт контекст, даже не зная особо ничего про редакс чувствую что они близки, но вопрос немного про другое.

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

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

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

Z

Zabashta in React — русскоговорящее сообщество
[FG][ busy irl sry for ignore ] { ᶠʳᵉᵉᶻᶻᵉᵉ ★ : ' instamuted ' };
Вопрос от нубика, только узнал про реакт контекст, даже не зная особо ничего про редакс чувствую что они близки, но вопрос немного про другое.

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

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

[{

[FG][ busy irl sry f... in React — русскоговорящее сообщество
Zabashta
ну, передавать колбек вниз особо проблемы нет, если внизу небольшой компонент. Проблема в том, что любой компонент эта функция и когда она ререндерится, то все переменные и дополнительные функции внутри себя - тоже ререндерятся и это вызывает ререндер нижнего компонента. Но и с этим можно бороться, useMemo или useCallback мемоизируют сам колбэк.

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

С редаксом услышал, запомню

Спасибо
источник

X

Xeontius in React — русскоговорящее сообщество
приветствую, подскажите почему next ругается Unhandled Runtime Error
SyntaxError: Unexpected end of JSON input
собственно на то что он ругается:
export const patchData = async (url, token) => {
   const res = await fetch(${baseUrl}/api/${url}, {
       method: 'PATH',
       headers: {
           "Content-Type": "application/json",
           "Authorization": token
       }
   })
   const data = await res.json()
   return data
}
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
Xeontius
приветствую, подскажите почему next ругается Unhandled Runtime Error
SyntaxError: Unexpected end of JSON input
собственно на то что он ругается:
export const patchData = async (url, token) => {
   const res = await fetch(${baseUrl}/api/${url}, {
       method: 'PATH',
       headers: {
           "Content-Type": "application/json",
           "Authorization": token
       }
   })
   const data = await res.json()
   return data
}
падает на строчке await res.json()?
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
Xeontius
приветствую, подскажите почему next ругается Unhandled Runtime Error
SyntaxError: Unexpected end of JSON input
собственно на то что он ругается:
export const patchData = async (url, token) => {
   const res = await fetch(${baseUrl}/api/${url}, {
       method: 'PATH',
       headers: {
           "Content-Type": "application/json",
           "Authorization": token
       }
   })
   const data = await res.json()
   return data
}
у тебя опечатка в method, нужен PATCH
источник

X

Xeontius in React — русскоговорящее сообщество
🧨 ethorz
у тебя опечатка в method, нужен PATCH
Спасибо, а я то думаю что не так 😄
источник

И

Илья in React — русскоговорящее сообщество
Где можно почитать про проектирование? То есть сколько должно быть компонентов. Как они должны быть устроены, чтобы была возможность расширения. Надо ли на старте это всё продумывать или можно по ходу и т. д. Как это гуглить правильно вообще?
источник

🧨

🧨 ethorz in React — русскоговорящее сообщество
Илья
Где можно почитать про проектирование? То есть сколько должно быть компонентов. Как они должны быть устроены, чтобы была возможность расширения. Надо ли на старте это всё продумывать или можно по ходу и т. д. Как это гуглить правильно вообще?
единого проектирования так такового нет, а так можно найти на https://refactoring.guru/ru
источник

☬ Sᴀʏᴅᴜʟʟᴏ ツ... in React — русскоговорящее сообщество
Подскажите чат по mobx
источник

K(

Kirill (Parfen0n) in React — русскоговорящее сообщество
☬ Sᴀʏᴅᴜʟʟᴏ ツ
Подскажите чат по mobx
источник

☬ Sᴀʏᴅᴜʟʟᴏ ツ... in React — русскоговорящее сообщество
пасибо
источник

D

Dolky in React — русскоговорящее сообщество
как создать файл даже если папки не существует, то есть на вход надо путь до файла, и он сам создал директорий который нету
источник

☬ Sᴀʏᴅᴜʟʟᴏ ツ... in React — русскоговорящее сообщество
Задал там вопрос, может кто шарит здесь, подскажите там пожалуйста
источник

Э

Элин in React — русскоговорящее сообщество
Привет всем! Знаю, что немного группой ошибся, но какую систему проверки на реального человека посоветуете (Пример: reCaptcha)?
источник

D

Deyl in React — русскоговорящее сообщество
Илья
Где можно почитать про проектирование? То есть сколько должно быть компонентов. Как они должны быть устроены, чтобы была возможность расширения. Надо ли на старте это всё продумывать или можно по ходу и т. д. Как это гуглить правильно вообще?
Дизайн системы такие вещи проектируют в идеале.
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Элин
Привет всем! Знаю, что немного группой ошибся, но какую систему проверки на реального человека посоветуете (Пример: reCaptcha)?
recaptcha v3, recaptcha v2 hidden
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Dolky
как создать файл даже если папки не существует, то есть на вход надо путь до файла, и он сам создал директорий который нету
источник

V

Vlad in React — русскоговорящее сообщество
Dolky
как создать файл даже если папки не существует, то есть на вход надо путь до файла, и он сам создал директорий который нету
непонятно какое отношение это имеет к реакту https://www.npmjs.com/package/mkdirp
источник