ruang.work

React Conditional Rendering

  • Avatar for Ilham Nuruddin Al Huda
Ilham Nuruddin Al Huda
•

4 min read

go to Conditional Rendering dengan Data section

Conditional Rendering dengan Data

const ProgressStep = (step: Step) => ({
current: <CurrentComponent step={step} />,
complete: <CompleteComponent step={step} />,
upcoming: <UpcomingComponent step={step} />,
})
const ProgressNav = ({ steps }) => {
return (
<nav aria-label="Progress">
<ol role="list">
{steps.map((step, index) => (
<li key={index}>{ProgressStep(step)[step.status]}</li>
))}
</ol>
</nav>
)
}

Menggunakan fungsi ProgressStep untuk memetakan parameter step.status yang akan disesuaikan dengan kunci objek yang dikembalikan oleh fungsi ProgressStep.

go to Conditional Rendering tanpa Data section

Conditional Rendering tanpa Data

Ketika kita ingin pengkondisian view tanpa mengirimkan data dapat juga dilakukan dengan membuat object seperti di bawah.

const CurrentStepComponent = {
0: <NewJobForm form={form} />,
1: <JobPreview form={form} />,
}[currentStepIndex]
const FormMultiStep = () => <form onSubmit={form.handleSubmit(onSubmit)}>{CurrentStepComponent}</form>

Mendefinisikan CurrentStepComponent dengan key dan value. Disini key adalah currentStepIndex dan valuenya berupa component react. disini kita tentukan komponent mana yang akan dirender berdasarkan index current step.