提交表格后,我正试图从此页面重定向。由于某种原因,它什么也没做。我没有收到错误,页面保持不变。我正在使用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" />;
}
}
);
}
}
答案 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”); ‘’’