是否有机会将next
函数(如下面的示例)扩展到<ConfirmForm />
组件中?看起来PHPSorm抛出了以下错误:一米二米
错误信息:ReferenceError: Cannot access 'next' before initialization
import useMultistepForm from 'Hooks/useMultipleStep';
const {
step,
back,
goTo,
isFirstStep,
lastStepIndex
} = useMultistepForm([
// Error appears here ->
<ConfirmForm next={ next } />,
<ConfirmCard />
]);
使用多级窗体挂接:
export const useMultistepForm = (steps: ReactElement[]) => {
const [currentStepIndex, setCurrentStepIndex] = useState(0);
function next() {
setCurrentStepIndex((i) => {
if (i >= steps.length - 1) {
return i;
}
return i + 1;
});
}
return {
next
};
1条答案
按热度按时间nkcskrwz1#
好的,如果我理解正确的话,您需要提供一个由钩子创建的名为
next
的函数,以将组件传递给该钩子。你可以通过让钩子接受一个函数来做到这一点,这个函数的参数是由钩子提供的。
这里的钩子被输入一个函数,这个函数将接受钩子提供的
next
函数。该函数返回值是
steps
。然后在钩子内部,要获得实际的步骤,需要调用该函数并将
next
函数传递给它。可以这样使用:
有关工作示例,请参见playground