Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
const SomeComponent = (props: SomeComponentProps) => {}class PromoList extends React.Component<PromoListProps> {}const countries = {
US: "United States",
IT: "Italy",
FR: "France"
};
type Country = $Keys<typeof countries>;
const italy: Country = 'IT';
const nope: Country = 'nope'; // ERROR TROWNОбновился. Пока что споткнулся только на двух одинаковых моментах:
onClick не воспринимают false как null или undefined. Т.е. если было что-то вроде onClick={someBoolean && this.onClick}, то теперь придётся как-нибудь иначе написать. Например так onClick={somBoolean ? this.onClick : null}.render метод в reactDOM точно таким же образом реагирует на callback. В моём случае я проглядел этот момент, пока тестировал в dev-сборке, т.к. у меня было dev && someMethod. И поймал я эту ошибку уже в минифицированной версии. Что характерно, теперь ошибки на продакшне идут по номерам и не содержат внятного текста. Его можно получить перейдя по такой вот примерно ссылке. Возможно так и раньше было, но я столкнулся впервые.В остальном вроде всё работает, как работало.
Его можно получить перейдя по такой вот примерно ссылке. Возможно так и раньше было, но я столкнулся впервые.
Так было и раньше
onClick={someBoolean && this.onClick} у вас точно раньше работало?Работало. И сейчас работает, только warning-и кидает. А что именно вас смущает? Всё что выполняется в {} всегда выполняется, это же просто JavaScript код (посмотрите итоговый js-code и React.createElement). Или вы про this внутри this.onClick? Если про this, то я использую такую нотацию:
class MyComponent extends React.PureComputed
{
onClick = evt =>
{
// some code
}
// code
}Что примерно эквивалентно:
constructor()
{
// some code
this.onClick = evt => { /* code */ };
}
Вышел React v16.0