首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将React-Slick与查询参数同步

将React-Slick与查询参数同步
EN

Stack Overflow用户
提问于 2019-02-13 02:18:37
回答 1查看 209关注 0票数 0

我正在使用React-Slick在转盘中呈现<Report />组件。我想将每个<Report />reportId与查询参数同步。

例如,用户可以通过转到myapp.com/reports?id=1查看特定的报告,它会将他们带到该特定的“幻灯片”。

我遇到的问题是,report数据是在幻灯片初始化之前加载的。我找不到react-slick的onInitonReInit的好例子。

EN

回答 1

Stack Overflow用户

发布于 2019-02-13 04:46:14

我没有使用onInitonReInit,而只是利用了initialSlide设置并使用了componentDidUpdate()

代码语言:javascript
复制
componentDidUpdate = (prevProps, prevState) => {

const queryParams = qs.parse(this.props.location.search)
if (prevProps.reports !== this.props.reports) {
  const sortedReports = this.sortReportsByDate(this.props.reports)

  this.setSlideIndex(sortedReports.findIndex(i => i.id === parseInt(queryParams.reportId, 10)))
  this.setQueryParams({
    reportId: this.sortReportsByDate(this.props.reports)[this.state.slideIndex].id
  })
}

if (prevState.slideIndex !== this.state.slideIndex) {
  this.setQueryParams({
    reportId: this.sortReportsByDate(this.props.reports)[this.state.slideIndex].id
  })
}

}

和设置:

代码语言:javascript
复制
const settings = {
  ...
  initialSlide: reportsSortedByDate.findIndex(i => i.id === parseInt(queryParams.reportId, 10))
  ...
}

我希望有人会觉得这很有用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54656337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档