Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react路由器的我的链接标签不存在';不要改变我的页面_Javascript_Reactjs_Hyperlink_React Router - Fatal编程技术网

Javascript react路由器的我的链接标签不存在';不要改变我的页面

Javascript react路由器的我的链接标签不存在';不要改变我的页面,javascript,reactjs,hyperlink,react-router,Javascript,Reactjs,Hyperlink,React Router,我的结构如下: <CategoryRecipesList> <Title> Recipes for {this.props.category} </Title> <Mesh> You can also click on : {categoryList.map(el => <Link to={'categories/' + el}>{el}</Link>} </Mesh> <Grid>

我的结构如下:

<CategoryRecipesList>
  <Title> Recipes for {this.props.category} </Title>
  <Mesh> You can also click on : {categoryList.map(el => <Link to={'categories/' + el}>{el}</Link>} </Mesh>

  <Grid>
   recipes.map((s, i) => <Card {...s}/>)
  </Grid>
</CategoryRecipesList>

{this.props.category}的配方
您还可以单击:{categoryList.map(el=>{el}}
recipes.map((s,i)=>)
我在CategoryList组件上有一个构造函数,它根据
类别
参数获取
配方
列表

当我点击
标签时,标题和url会更新,但网格中的
不会更新


有人有任何线索吗?

您可能正在查看。请尝试使用包装卡组件


您可能正在查看。请尝试使用包装卡组件


我找到了解决方案。我需要考虑网格中的卡片取决于父组件()中的道具。因此,如果我通过单击
更改url,我需要使用
组件将接收道具(newProps)
方法,通过比较比较this.props.category是否已更改(
this.props.category
newProps.category
)。如果是这样,我需要提取新卡以准确显示。现在工作正常

组件中:

componentWillReceiveProps(nextProps) {
    if (this.props.params.category_type !== nextProps.params.category_type) {
      this.category = nextProps.params.category_type
      this.props.fetchRecipesByDevice(this.category)
    }
  }

我找到了解决方案。我需要考虑网格中的卡片取决于父组件()中的道具。因此,如果我通过单击
更改url,我需要使用
组件将接收道具(newProps)
方法,通过比较比较this.props.category是否已更改(
this.props.category
newProps.category
)。如果是这样,我需要提取新卡以准确显示。现在工作正常

组件中:

componentWillReceiveProps(nextProps) {
    if (this.props.params.category_type !== nextProps.params.category_type) {
      this.category = nextProps.params.category_type
      this.props.fetchRecipesByDevice(this.category)
    }
  }

谢谢。我编辑了我的问题,以便更清楚地解释我的挣扎。@StanAmsellem我更新了我的答案。请尝试包装卡片组件。@StanAmsellem请将您的代码放在Plunkr或类似的格式中。请注意“它不起作用”这是一个非常不具建设性的回复;它是否打破了以前的工作项目?控制台怎么说?等等。是的,你是对的@WillStone,它有点模糊,我很沮丧尝试了不同的方法,但没有找到解决方案。如果这有点苛刻,很抱歉:)谢谢你让我发现了withRouter()方法,并借此机会深入了解react的最新版本-router@StanAmsellem没问题。如果您找到了解决方案,请发布解决方案好吗?以防有人通过网络搜索来到这里。谢谢。我编辑了我的问题,以便更明确地解释我的挣扎。@StanAmsellem我更新了我的答案。试着包装卡片组件。@StanAmsellem请将您的代码放在Plunkr或类似的语言中。还请注意“它不起作用”这是一个非常不具建设性的回复;它是否打破了以前的工作项目?控制台怎么说?等等。是的,你是对的@WillStone,它有点模糊,我很沮丧尝试了不同的方法,但没有找到解决方案。如果这有点苛刻,很抱歉:)谢谢你让我发现了withRouter()方法,并借此机会深入了解react的最新版本-router@StanAmsellem没问题。如果你找到了解决方案,你能把它贴出来吗?以防有人在网上搜索到这里。