Потратил уже пару часов и не мог понять как правильно прописать больше одного условия проверки.
`import React from 'react';
import getUserData from "./getUserData";
class App extends React.Component {
state = {
userData: null,
loading: false,
};
async componentDidMount() {
this.setState({ loading: true });
try {
const res = await getUserData();
this.setState({ userData: res });
} catch (e) {
console.log(e);
} finally {
this.setState({ loading: false });
}
}
render() {
const { userData, loading } = this.state;
return (
<div>
User name: {
loading ? 'Loading...':
(loading === false && this.state.userData === null) ? 'Some error during request' : userData.name
}
</div>
);
}
}
export default App;
`
При этом такой код:
`import React from 'react';
import getUserData from "./getUserData";
class App extends React.Component {
state = {
userData: null,
loading: false,
};
async componentDidMount() {
this.setState({ loading: true });
try {
const res = await getUserData();
this.setState({ userData: res });
} catch (e) {
console.log(e);
} finally {
this.setState({ loading: false });
}
}
render() {
const { userData, loading } = this.state;
return (
<div>
User name: {
loading ? 'Loading...': 'Loaded'
}
</div>
);
}
}
export default App;
`
Выводит "Loaded", когда состояние меняется т.е. правая сторона исполняется, но если в нее добавить новое условие - оно не работает. Я уже и функцию отдельную заводил и что только не делал, но. ничего не помогает.