A more readable solution could be create an inline render function as
const renderThisThing = () => {
if (jobId !== 1) {
return null
}
if (activeFlag === 1) {
return <RenderA />
}
if (activeFlag === 2) {
return <RenderB />
}
if (activeFlag === 3) {
return <RenderC />
}
return null
}
const elementToIncludeInTheJSX = renderThisThing()
and then put {elementToIncludeInTheJSX}
in the place you want to render the component. You can inline this function in the body of your component, or make it a real React component, and pass jobId
and activeFlag
as props.
function ComplexRenderComponent({ jobId, activeFlag }) {
if (jobId !== 1) {
return null
}
if (activeFlag === 1) {
return <RenderA />
}
if (activeFlag === 2) {
return <RenderB />
}
if (activeFlag === 3) {
return <RenderC />
}
return null
}
and you use it as <ComplexRenderComponent jobId={jobId} activeFlag={activeFlag} />
in your component.