Можно, примерно, так:
render() {
  const isUserInfoFormActive = ...; // your conditions
  const isUserAddressFormActive = ...; // your conditions
  return (
    <Wrapper>
      {isUserInfoFormActive && <UserInfoForm />}
      {isUserAddressFormActive && <UserAddressForm />}
    </Wrapper>
  );
}
Если шагов много, рациональней написать FormWidget:
class FormWidget extends Component {
  ...
  getContent() {
     const { children, activeStep } = this.props;
     return React.Children.map(children, (child, i) => {
      if (activeStep === i + 1) {
        return React.cloneElement(child, { key: i });
      }
      return null;
    });
  }
  handleNext = () => {
    ...
  };
  handlePrev = () => {
     ...
  };
  render() {
    ...
    return(  
      <div>
        <Content>{this.getContent()}</Content>
        <div>
           <Button onClick={this.handlePrev}>{prevButtonLabel}</Button>
           <Button onClick={this.handleNext}>{nextButtonLabel}</Button>
        </div>
      </div>
    );
  }
}
и предавать детьми все шаги:
render() {
  return (
     <FormWidget>
      <Step1 />
      <Step2 />
      <Step3 />
      <Step4 />
      <Step5 />
      <Step6 />
      <Step7 />
      <Step8 />
      <Step9 />
      <Step10 />
     </FormWidget>
  );
}
Пример очень абстрактный. Раскрывается сама идея.
Всю реализацию писать, все-таки, долго.