Я сталкиваюсь с проблемой с обновлением стилей в моем приложении React. У меня есть функция showon , которая должна изменить ширину компонента TaskTab , а затем обновить состояние iSactiveshow . Тем не менее, я заметил, что код, ответственный за обновление стиля, каким -то образом пропускается, и я не могу понять причину. < /P>
Вот мой код: < /p>
Код: Выделить всё
function TaskTab() {
const [isActiveShow, setIsActiveShow] = useState(false);
const [taskTabStyle, setTaskTabStyle] = useState({});
const ShowOn = () => {
setTaskTabStyle(prevStyle => ({
...prevStyle,
width: prevStyle.width === '279px' ? '' : 'calc(100% - 100px)',
}));
setIsActiveShow(!isActiveShow);
};
const btnShowOffTask = () => {
setTaskTabStyle(prevStyle => ({
...prevStyle,
width: prevStyle.width === '279px' ? '' : '279px',
}));
setIsActiveShow(!isActiveShow);
};
return (
+
{isActive.map((element, index) => (
{element}
))}
{isActiveShow ? () : ()}
);
}
export default TaskTab;
Я гарантировал, что условие prevstyle.width === '279px' выполняется, и что SettAskTabStyle правильно обновляет состояние. Однако при выполнении кода часть, ответственная за обновление стиля, пропускается.
Код: Выделить всё
const ShowOn = () => {
setTaskTabStyle(prevStyle => ({
...prevStyle,
width: prevStyle.width === '279px' ? '' : 'calc(100% - 100px)',
}));
setIsActiveShow(!isActiveShow);
};
Я уже проверил, что условие prevstyle.width === '279px' выполняется, и что SettAskTabStyle правильно обновляет состояние. Я также попробовал регистрировать различные значения и проверить любые ошибки в консоли, но не смог найти никаких подсказок. Я ожидал, что компонент tasktab будет обновлять его ширину в соответствии с условием в функции Showon , но по какой -то причине код, ответственный за обновление стиля, кажется, пропущен.
Подробнее здесь:
https://stackoverflow.com/questions/782 ... n-function