Он использует эффективные алгоритмы сравнения для обновления изменений вперед и назад и других случаев использования.
.my-svg-selector:hover {
fill: red;
} И зачем при выполнении setState() делать копию массива users, если в новый массив все равно копируются только ссылки на объекты, а не сами объекты? Только для того, чтобы в state появилась ссылка на новый массив и React задетектил изменение?
{
isFetching: {
'ALL': false,
'122bc-e43gf-24002-12ea1-ca785': true,
},
}babel-preset-stage-0 и babel-preset-env, и поставить @babel/preset-stage-0.
хотелось бы получить что-то подобное
class Day extends React.Component {
state = this.calculateCalories();
calculateCalories() {
/* ... */
return {
calories,
fat,
protein,
carbs,
};
}
handleClick = () => {
this.setState(this.calculateCalories());
};
render() {
...
}
}Умные люди научили меня не мутировать state и делать примерно так
против такого способа выступает официальная документация, где сказано - не мутируй state и избегай forceUpdate(), это может привести к непрогнозируемым багагм.
Так я хочу спросить - ПОЧЕМУ так нельзя делать и КАКИЕ негативные последствия это может иметь?
Мне кажется, что в простых ситуациях, мутация state и немедленный вызов forceUpdate() будет работать не хуже setState, при этом код будет внятней и эффективней.
Тут написано только про точечную и скобочную запись
но я знаю что есть get и set.
export default withRouter(App);const shouldShowFooter = this.props.location.pathname !== '/basket';{shouldShowFooter && <Footer />} const Foo = () => {
const [shouldShowBar, setShouldShowBar] = useState(true);
const handleBarClose = useCallback(() => {
setShouldShowBar(false);
}, []);
return (
<>
{shouldShowBar && <Bar onClose={handleBarClose} />}
</>
);
};const Foo = ({ onConfirm }) => {
return (
<ModalWrapper
onConfirm={onConfirm}
body="Hello"
>
{showModal => (
<Button onClick={showModal}>Show modal</Button>
)}
</ModalWrapper>
);
}Что-то изменится если это будет блог/интернет-магазин?
exclude: /node_modules/"allowSyntheticDefaultImports": true,import React from 'react';"allowSyntheticDefaultImports" установленно в значение false, лоадер парсит библиотеки в node_modules, а дефолтные импорты React сделать с текущими настройками не может.