url 更改时重新渲染组件的问题
Issue of re-rendering the component on url change
我是 React 新手,在执行任务时我在重新渲染组件时遇到了一些问题。
在我的导航栏上我有三个链接:Home, user and Courses.
如果用户单击“课程”(/courses?quick-courses=true#courses),该组件将呈现并显示课程列表(链接)。如果用户单击其中一个链接,例如“The Javascript”(/courses/3?title= Javascript),然后单击“课程”(/courses?quick-courses=true #courses) 再次来自导航栏,“课程”组件中的内容将不会再次呈现以显示课程内容列表。
我尝试使用 shouldComponentUpdate() 和 componentDidUpdate() 将 this.props.location.search 分配给状态以及许多其他方法来解决这个问题。但是它对我不起作用。
这是我的组件和我到目前为止所做的:components-assignment-3
非常感谢。
当您单击 /courses?quick-courses=true#courses
时,您会呈现这条路线 <Route path="/courses" component={Courses} />
此时,该路由已加载并挂载
然后单击 /courses/3?title= Javascript
并渲染 <Route path={"/courses/:id"} exact component={Course} />
现在点击 /courses?quick-courses=true#courses
不会重新渲染 <Route path="/courses" component={Courses} />
,因为它已经渲染过,您已经在这条路线中了。这就是为什么 none 的生命周期钩子将再次触发 而你的 showCourse
将是 false
所以你不会看到 headerCheck
]
我是 React 新手,在执行任务时我在重新渲染组件时遇到了一些问题。
在我的导航栏上我有三个链接:Home, user and Courses.
如果用户单击“课程”(/courses?quick-courses=true#courses),该组件将呈现并显示课程列表(链接)。如果用户单击其中一个链接,例如“The Javascript”(/courses/3?title= Javascript),然后单击“课程”(/courses?quick-courses=true #courses) 再次来自导航栏,“课程”组件中的内容将不会再次呈现以显示课程内容列表。
我尝试使用 shouldComponentUpdate() 和 componentDidUpdate() 将 this.props.location.search 分配给状态以及许多其他方法来解决这个问题。但是它对我不起作用。
这是我的组件和我到目前为止所做的:components-assignment-3
非常感谢。
当您单击 /courses?quick-courses=true#courses
时,您会呈现这条路线 <Route path="/courses" component={Courses} />
此时,该路由已加载并挂载
然后单击 /courses/3?title= Javascript
并渲染 <Route path={"/courses/:id"} exact component={Course} />
现在点击 /courses?quick-courses=true#courses
不会重新渲染 <Route path="/courses" component={Courses} />
,因为它已经渲染过,您已经在这条路线中了。这就是为什么 none 的生命周期钩子将再次触发 而你的 showCourse
将是 false
所以你不会看到 headerCheck
]