audio
наследует свои свойства и методы от HTMLMediaElement. Например, можно читать или устанавливать его свойство volume.case "SET_PROJECT_DATA": { return state = { ...state, [action.payload.name]: action.payload.value }; }
А здесь вы и вовсе мутируете объект состояния, ничего при этом не возвращая. Вы здесь должны вернуть абсолютно новый объект, никак не изменяя старый.case "SET_PROJECT_DATA_ARRAY": { action.payload.forEach(function (item) { if (typeof item === "object") { const keys = Object.keys(item); keys.forEach((key) => state = { ...state, [key]: item[key] }); } }); }
width: ~"calc(100% - 135px)";
export default function App() {
const [operationsLoan, setOperationsLoan] = useState([] );
const [loading, setLoading] = useState(false);
useEffect(() => {
setLoading(true);
apiGetOperationsLoan()
.then((response) => {
setOperationsLoan(response.data);
setLoading(false);
});
}, []);
// можно еще так сделать, зависит от обстоятельств
// if (loading) {
// return <p> Идет загрузка данных </p>
// }
return (
<>
<div className="cabinet__history-title">
<h1>
История операций
</h1>
</div>
<TabBar>
<TabBarItem label="Операции по займам">
<div className="loans-history">
{loading ? <p>Идет загрузка данных</p>
: { operationsLoan.map((loan, index) => {
return <Loan loan={loan} key={index}/>;
})}
}
</div>
</TabBarItem>
</TabBar>