Reactjs 从子组件路由时调用componentDidMount

Reactjs 从子组件路由时调用componentDidMount,reactjs,react-router,Reactjs,React Router,当删除子组件中的项时,我正在尝试重新获取父组件的componentDidMount生命周期?但是,在初始呈现父路由时调用它之后,使用this.context.router.push将其路由回父路由似乎不再触发父路由中的componentDidMount。有人有建议避开这件事吗?非常感谢 export class Parent extends React.Component { componentDidMount () { this.props.fetchData( //

当删除子组件中的项时,我正在尝试重新获取父组件的componentDidMount生命周期?但是,在初始呈现父路由时调用它之后,使用this.context.router.push将其路由回父路由似乎不再触发父路由中的componentDidMount。有人有建议避开这件事吗?非常感谢

export class Parent extends React.Component {
  componentDidMount () {
    this.props.fetchData(
      // update state
    )
  }
  render () {
    // render with updated data
  }
}

export class Child extends React.Component {
  constructor (props) {
    super(props)
    this.deleteItem = this.deleteItem.bind(this)
  }
  componentDidMount () {
    this.props.fetchData(
      // update state
    )
  }
  deleteItem () {
    this.props.deleteItem(id, (res) => {
      this.context.router.push('/parentroute')
    })
  }
  render () {
  }
}

componentDidMount
仅在组件装入后调用一次

如果要多次调用父组件方法,可以在父组件中使用
componentWillReceiveProps

或者,您可以使用子
componentDidMount
componentWillUnmount
钩子,但最好在父钩子中处理它