Size: a a a

React: русскоязычное сообщество

2020 April 14

T

The Fallen Phoenix in React: русскоязычное сообщество
Чтобы разобраться во внутренностях
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Она реализует апи реакта с плюшками, но выкинув классы
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
источник

ЮЧ

Юра Чеботаев in React: русскоязычное сообщество
Я вижу три кейса здесь:
1. Инстанциация.
2. Реконфигурация.
3. Очистка.

По большому счету, это старый-добрый лайфсайкл, но для контроллеров внутри хуков:

function MyComponent() {
 const instance = useController(MyController, [], [])
}


А теперь магия:

class MyController {
 static get reactHookConfig() {
   return {
     init: 'initialize',
     update: 'update',
     clear: 'tearDown'
   }
 }

 initialize() {}

 update() {}

 tearDown() {}
}
источник

ЮЧ

Юра Чеботаев in React: русскоязычное сообщество
Два набора аргументов: первый к конструктору и не наблюдается. А второй — к функции update.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Только апдейт не нужен
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Ибо нет пропсов
источник

ЮЧ

Юра Чеботаев in React: русскоязычное сообщество
Ну, я в общем случае написал.
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Это может быть методом контроллера
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Это важный момент, ибо иначе мы просто классы компонентов переизобретаем
источник

ЮЧ

Юра Чеботаев in React: русскоязычное сообщество
The Fallen Phoenix
Это важный момент, ибо иначе мы просто классы компонентов переизобретаем
Вот да )
источник

ЮЧ

Юра Чеботаев in React: русскоязычное сообщество
Меня это тоже слегка смущает )
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Поэтому апдейт не нужен
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Но! никто не запрещает два контроллера в один функциональный компонент запилить
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Разных, и по разному раскидать их колбеки на элементы
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
И между собой связать
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
Это composition api
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
В стиле реакта
источник

T

The Fallen Phoenix in React: русскоязычное сообщество
А еще возможен такой крутой синтаксис
const instance = useController(class extends WhatEver {
  ...whatever
})
источник

ЮЧ

Юра Чеботаев in React: русскоязычное сообщество
The Fallen Phoenix
А еще возможен такой крутой синтаксис
const instance = useController(class extends WhatEver {
  ...whatever
})
Не, так лучше не делать.
источник