Size: a a a

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

2021 January 14

Х

Хумоюн in React: русскоязычное сообщество
Хумоюн
Всем привет. Такая проблема. У меня есть стэйт. Я её обновляю, но почему то компонент не ре-рендерится. Можете подсказать причину?
Обновляю стэйт на
onLegendSelect
.
item.name
может быть одно из
(2016,2017,2018,2019,2020)
источник

OK

Oleh Kutsenko in React: русскоязычное сообщество
Хумоюн
Всем привет. Такая проблема. У меня есть стэйт. Я её обновляю, но почему то компонент не ре-рендерится. Можете подсказать причину?
как минимум идет редактирования объекта по ссылки
лучше сделать так:
setTmp(prevValue => ({...prevValue, [item.name]: !prevValue[item.name]})}
источник

EP

Egor Petrov in React: русскоязычное сообщество
const onLegendSelect = (item) => { setTmp({…tmp, [item.name]: !tmp[item.name]}) }
источник
2021 January 17

GV

Gert Vali in React: русскоязычное сообщество
Ребята, а зачем нужна такая конструкция ?
источник

GV

Gert Vali in React: русскоязычное сообщество
type GreetProps = typeof Greet.defaultProps & {
 age: number;
};

class Greet extends React.Component<GreetProps> {
 static defaultProps = {
   age: 21,
 };
 /*...*/
}

// Type-checks! No type assertions needed!
let el = <Greet age={3} />;
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
Gert Vali
type GreetProps = typeof Greet.defaultProps & {
 age: number;
};

class Greet extends React.Component<GreetProps> {
 static defaultProps = {
   age: 21,
 };
 /*...*/
}

// Type-checks! No type assertions needed!
let el = <Greet age={3} />;
Напоминает Flow. Наверное, человек определил объект дефолтных пропсов и использовал этот объект в определении типа GreetProps, чтобы типа показывало, что по умолчанию это будет 21, но этот пропс принимает любое число.

ГритПропс будет иметь внутри что-то типа [надеюсь правильно и я не забыл, как он такие конструкции совмещает]:
{
  age: 21 & number
}

Но тут правильнее было бы «|» поставить. Типа это 21 или любое другое число.

Но...всё равно как-то странно) хватало бы одного определения без typeof.
источник

GV

Gert Vali in React: русскоязычное сообщество
Денис Богданенко
Напоминает Flow. Наверное, человек определил объект дефолтных пропсов и использовал этот объект в определении типа GreetProps, чтобы типа показывало, что по умолчанию это будет 21, но этот пропс принимает любое число.

ГритПропс будет иметь внутри что-то типа [надеюсь правильно и я не забыл, как он такие конструкции совмещает]:
{
  age: 21 & number
}

Но тут правильнее было бы «|» поставить. Типа это 21 или любое другое число.

Но...всё равно как-то странно) хватало бы одного определения без typeof.
Я просто не особо понимаю как вот это работает
typeof Greet.defaultProps & {
 age: number;
};
источник
2021 January 18

ДБ

Денис Богданенко... in React: русскоязычное сообщество
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
Это по поводу “&”
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
А typeof...ну считай это как получить тип из описания свойств объекта
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
Касательно typeof
источник

GV

Gert Vali in React: русскоязычное сообщество
В тсе тоже есть
источник

GV

Gert Vali in React: русскоязычное сообщество
Ну это про тс все было
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
В приведённом примере не указано Flow или TS используется)
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
Это по поводу typeof
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
В TS
источник

ДБ

Денис Богданенко... in React: русскоязычное сообщество
А "&"...думаю он работать будет также
источник

GV

Gert Vali in React: русскоязычное сообщество
Ну как я понял & совмещает типы
источник