В useEffect у тебя в качестве зависимости стоит [active], поэтому он в любом случае 0 не отдаст, либо не отработает, либо дает измененные значения, а вот чтобы понять по поводу функции, нужен код самого рендера, я у себя его разверну и уже точно смогу сказать, в чем дело.