Size: a a a

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

2020 July 10

I

Igor in React — русскоговорящее сообщество
свойства же есть, тот же bind, но под сахаром
источник

OR

Oleg Rizhkov in React — русскоговорящее сообщество
осталось понять, к чему всё это.
источник

OR

Oleg Rizhkov in React — русскоговорящее сообщество
Igor
свойства же есть, тот же bind, но под сахаром
ВОТ И ВЫРОСЛО ПОКОЛЕНИЕ
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Весело тут у вас.
Пока тут скажите что сча модно для документации ui компонентов?
источник

В

Виталий in React — русскоговорящее сообщество
Fri Jul 10 2020 17:38:15 GMT+0300 (Eastern European Summer Time) как в объекте даты получить из этого только (Eastern European Summer Time)
источник

VO

Viktor Osipov in React — русскоговорящее сообщество
GruFF
При каждом рендере компонента будет дергаться ссылка на функцию handleClick
class App  {
 handleClick = () => {}

 render() {
   return <button onCLick=(this.handleClick)>
 }
}

При каждом рендере компонента будет создана новая функция
class App  {
 render() {
   return <button onCLick=(() => {})>
 }
}

Тут будет создаваться каждый раз новая функция ?
const Test = () => {
return <button onCLick=(() => {})>
}
class App  {
 // Присваиваем полю класса функцию;
 // поле класса неизменно между рендерами
 // (если мы явно не изменяем),
 // поэтому сохраняется ссылочное равенство
 handleClick = () => {};

 render() {
   return <button onClick={this.handleClick} {...this.props} />;
 }
}

class App  {
 render() {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   const handleClick = () => {};
   return <button onClick={handleClick} {...this.props} />;
 }
}

class App  {
 render() {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   return <button onClick={() => {}} {...this.props} />;
 }
}

// Помни!
// Функциональный компонент — просто
// метод render без класса! (Ментальная модель такая,
// в действительности всё может быть чуточку сложнее)
const App = (props) => {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   const handleClick = () => {};
   return <button onClick={handleClick} {...props} />;
}

const App = (props) => {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   return <button onClick={() => {}} {...props} />;
}
источник

G

GruFF in React — русскоговорящее сообщество
Viktor Osipov
class App  {
 // Присваиваем полю класса функцию;
 // поле класса неизменно между рендерами
 // (если мы явно не изменяем),
 // поэтому сохраняется ссылочное равенство
 handleClick = () => {};

 render() {
   return <button onClick={this.handleClick} {...this.props} />;
 }
}

class App  {
 render() {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   const handleClick = () => {};
   return <button onClick={handleClick} {...this.props} />;
 }
}

class App  {
 render() {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   return <button onClick={() => {}} {...this.props} />;
 }
}

// Помни!
// Функциональный компонент — просто
// метод render без класса! (Ментальная модель такая,
// в действительности всё может быть чуточку сложнее)
const App = (props) => {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   const handleClick = () => {};
   return <button onClick={handleClick} {...props} />;
}

const App = (props) => {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   return <button onClick={() => {}} {...props} />;
}
Спасибо!
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Viktor Osipov
class App  {
 // Присваиваем полю класса функцию;
 // поле класса неизменно между рендерами
 // (если мы явно не изменяем),
 // поэтому сохраняется ссылочное равенство
 handleClick = () => {};

 render() {
   return <button onClick={this.handleClick} {...this.props} />;
 }
}

class App  {
 render() {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   const handleClick = () => {};
   return <button onClick={handleClick} {...this.props} />;
 }
}

class App  {
 render() {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   return <button onClick={() => {}} {...this.props} />;
 }
}

// Помни!
// Функциональный компонент — просто
// метод render без класса! (Ментальная модель такая,
// в действительности всё может быть чуточку сложнее)
const App = (props) => {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   const handleClick = () => {};
   return <button onClick={handleClick} {...props} />;
}

const App = (props) => {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   return <button onClick={() => {}} {...props} />;
}
Дед у тебя конкурент)
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Viktor Osipov
class App  {
 // Присваиваем полю класса функцию;
 // поле класса неизменно между рендерами
 // (если мы явно не изменяем),
 // поэтому сохраняется ссылочное равенство
 handleClick = () => {};

 render() {
   return <button onClick={this.handleClick} {...this.props} />;
 }
}

class App  {
 render() {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   const handleClick = () => {};
   return <button onClick={handleClick} {...this.props} />;
 }
}

class App  {
 render() {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   return <button onClick={() => {}} {...this.props} />;
 }
}

// Помни!
// Функциональный компонент — просто
// метод render без класса! (Ментальная модель такая,
// в действительности всё может быть чуточку сложнее)
const App = (props) => {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   const handleClick = () => {};
   return <button onClick={handleClick} {...props} />;
}

const App = (props) => {
   // Каждый рендер создаём новую функцию;
   // теряем ссылочное равенство
   // между рендерами
   return <button onClick={() => {}} {...props} />;
}
Для полноты можно было ещё юзколбек добавить в примеры
источник

VO

Viktor Osipov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Для полноты можно было ещё юзколбек добавить в примеры
Я ещё не знаю как «подкапотно» работают хуки, поэтому не лезу туда. Может быть дед дополнит.
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Viktor Osipov
Я ещё не знаю как «подкапотно» работают хуки, поэтому не лезу туда. Может быть дед дополнит.
Созданная функция через юз колбек гарантировано вернёт ссылку на оригинал при условии что депсы не обновились
источник

VO

Viktor Osipov in React — русскоговорящее сообщество
Виталий
Fri Jul 10 2020 17:38:15 GMT+0300 (Eastern European Summer Time) как в объекте даты получить из этого только (Eastern European Summer Time)
Самый надёжный вариант — получить смещение new Date('Fri Jul 10 2020 17:38:15 GMT+0300').getTimezoneOffset(), а затем по нему определить название часового пояса, предварительно создав объект, ключи которого - минутное смещение, а значение — строка с названием часовой зоны.

const offsetToTimezone = {
 '-180': '(Eastern European Summer Time)'
};
источник

VO

Viktor Osipov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Созданная функция через юз колбек гарантировано вернёт ссылку на оригинал при условии что депсы не обновились
Спасибо, но в целом хуки для меня — чёрный ящик: я не знаю как они хранят данные между вызовами.
источник

В

Виталий in React — русскоговорящее сообщество
Всем привет!
В хром девтулз пропала вкладка redux. Теперь редакс девтулз открывается во всплывающем окне при клике на иконку.

Подскажите как вернуть его в хром девтулз?
источник

VO

Viktor Osipov in React — русскоговорящее сообщество
Виталий
Всем привет!
В хром девтулз пропала вкладка redux. Теперь редакс девтулз открывается во всплывающем окне при клике на иконку.

Подскажите как вернуть его в хром девтулз?
Мне помогает открыть/закрыть девтулзы или открыть/закрыть хром
источник

И

Иван in React — русскоговорящее сообщество
Dmitriy Shuleshov
Дед у тебя конкурент)
не конкурент, а сообщник
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Viktor Osipov
Спасибо, но в целом хуки для меня — чёрный ящик: я не знаю как они хранят данные между вызовами.
Там все достаточно просто. Прочти статью Абрамова, многое прояснится. Вот тебе намек.

Для реакта важен повторяемый порядок вызовов хуков в компоненте
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Иван
не конкурент, а сообщник
Да у вас тут прям организованная банда)
источник

В

Виталий in React — русскоговорящее сообщество
Viktor Osipov
Мне помогает открыть/закрыть девтулзы или открыть/закрыть хром
Спасибо, помогло.
источник

VO

Viktor Osipov in React — русскоговорящее сообщество
Dmitriy Shuleshov
Там все достаточно просто. Прочти статью Абрамова, многое прояснится. Вот тебе намек.

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

Эту статью?
https://medium.com/@dan_abramov/making-sense-of-react-hooks-fdbde8803889
источник