У "response-router-dom" есть функция обновления здесь, но я не знаю, как вызвать этот метод, также их хорошо отформатированный документ не потрудился объяснить это.
У меня не работает window.location.reload(), потому что он стирает и магазин приложений. Я изменил некоторые данные, а затем необходимо перезагрузить маршрут с обновленными данными.
Я также прочитал это: https://github.com/ReactTraining/react-router/issues/1982 https://github.com/ReactTraining/react-router/issues/2243
эта тема точно обсуждает мой вопрос: https://github.com/ReactTraining/react-router/issues/4056
и до сих пор не знает, как это сделать. Эта базовая функция не должна требовать слишком больших усилий, но, затратив огромное количество усилий, я не могу перезагрузить текущий маршрут.
вот мой код:
@inject('store') @observer
export default class PasswordInput extends Component {
    constructor (props) {
        super(props)
        this.setPwd = this.setPwd.bind(this)
        this.submit = this.submit.bind(this)
    }
    componentWillMount() {
        this.case = this.props.store.case
        this.setState({refresh: false})
    }
    setPwd(e) {
        // console.log(e)
        this.case.pwd = e.target.value
    }
    submit() {
        console.log(this.props.caseId)
        this.setState({refresh: true})
    }
    render() {
        return (
            <Container>
                <div>{this.state.refresh}</div>
                { (this.state.refresh) && <Redirect refresh={true} to={'/cases/' + this.props.caseId}></Redirect>}
                <br />
                <Grid columns="three">
                    <Grid.Row>
                        <Grid.Column key={2}>
                            <Form>
                                <label>Enter Password</label>
                                <input placeholder="empty"  type="text" onChange={this.setPwd} value={this.case.pwd}></input>                               
                                <Button name="Save" color="green" size="mini" 
                                style={{marginTop:'1em'}}
                                onClick={this.submit}>
                                    Submit
                                </Button>                               
                            </Form>
                        </Grid.Column>
                    </Grid.Row>
                </Grid>
            </Container>
        )
    }
}
