When I have blocks like this, I like to break out the conditions and describe exactly what they're doing.(当我有这样的障碍时,我喜欢打破条件并准确描述他们在做什么。)
For example:(例如:)
render() {
const {
isLoading,
leverJobData,
isApiError
} = this.state;
const hasError = !isLoading && isApiError;
const noJobsAvailable = !isLoading && !isApiError && leverJobData.length === 0;
const hasJobsAvailable = !isLoading && !isApiError && leverJobData.length > 0;
return (
<Openings.Container>
<Openings.StyledH4>Open roles:</Openings.StyledH4>
{isLoading && <h4>Loading...</h4>}
{hasError && <h4>Something went wrong. Please try again later!</h4>}
{noJobsAvailable && <h4>There are no openings at this time.</h4>}
{hasJobsAvailable && this.renderJobOpenings(leverJobData)}
</Openings.Container>
);
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…