React Router Redirect不重定向

时间:2019-05-15 06:19:15

标签: reactjs meteor react-router-v4

提交表格后,我正试图从此页面重定向。由于某种原因,它什么也没做。我没有收到错误,页面保持不变。我正在使用React Router4。我在这里想念什么?

handleSubmit(event) {
  event.preventDefault();

  if (isObjectEmpty(errorsInForm)) {
    Meteor.call(
      'user.multiplechoice.answer',
      conductedExamId,
      (err, res) => {
        if (err) {
          alert(err.reason);
        } else {
          <Redirect to="/test" />;
        }
      }
    );
  }
}

2 个答案:

答案 0 :(得分:1)

3/8是应该由{1:F01ADFGSYYAXXX8683497519}{2:0103344551028ESPBESMMAXXX54237522470510281535N}{3:{108:0510280182794665}{119:STP}}{4: :20:0061350113089908 :13C:/RNCTIME/1534+0000 :23B:CRED :23E:SDVA :32A:061028EUR100000, :33B:EUR100000, :50K:/12345678 AGENTES DE BOLSA FOO AGENCIA AV XXXXX 123 BIS 9 PL 12345 BARCELONA :52A:/2337 FOOAESMMXXX :53A:FOOAESMMXXX :57A:BICFOOYYXXX :59:/ES0123456789012345671234 FOO AGENTES DE BOLSA ASOC :71A:OUR :72:/BNF/TRANSF. BCO. FOO -}{5:{MAC:88B4F929}{CHK:22EF370A4073}} $ {1:F01ADFGSYYAXXX8683497519}{2:0103344551028ESPBESMMAXXX54237522470510281535N}{3:{108:0510280182794665}{119:STP}}{4: :20:0061350113089908 :13C:/RNCTIME/1534+0000 :23B:CRED :23E:SDVA :32A:061028EUR100000, :33B:EUR100000, :50K:/12345678 AGENTES DE BOLSA FOO AGENCIA AV XXXXX 123 BIS 9 PL 12345 BARCELONA :52A:/2337 FOOAESMMXXX :53A:FOOAESMMXXX :57A:BICFOOYYXXX :59:/ES0123456789012345671234 FOO AGENTES DE BOLSA ASOC :71A:OUR :72:/BNF/TRANSF. BCO. FOO -}{5:{MAC:88B4F929}{CHK:22EF370A4073}} 函数返回的组件,而不是在事件处理程序中。如果要使用<Redirect />组件,则必须在api调用成功后设置一个状态,然后根据该状态呈现该组件。

render

如果您不想使用Redirect组件,而只想重定向,则必须有权访问state = { formSuccess: false } handleSubmit(event) { /* Call to api was successful */ this.setState({ formSuccess: true }); } render() { if (this.state.formSuccess) { return (<Redirect to="/test" />); } /* The rest of your render function */ } 组件的历史记录。为此,您需要将具有Redirect功能的组件包装到Router HOC中,以使其可以访问历史记录。

handleSubmit

答案 1 :(得分:0)

首先从react-router-dom使用带有路由器的高阶组件 ‘’’ 然后使用this.props.history.push(“ route-path”); ‘’’