javascript - 如何在 React 中单击时重定向到组件
问题描述
当用户单击这样的按钮时,我试图重定向到另一个组件:
import React from 'react';
import Article from '../Article/Article.js'
import { BrowserRouter as Router, Route, Switch, Redirect} from 'react-router-dom'
const Posts = ({ posts, loading }) => {
if (loading) {
return <div class="loader">
<div class="spinner"></div>
</div>
}
return (
<Router>
<div className="post-container">
{posts.map(post => (
<div key={post._id} className='post'>
<img className="post-container__image" src={post.picture} alt="image"/>
<div className="post-container__post">
<div className="post-container__text">
<h2 className="post-container__title">{post.title}</h2>
<p className="post-container__date">{post.date}</p>
<p className="post-info-container__text">{post.postContent.substring(0, 500) + "..."}</p>
<button className="read-more-btn" onClick={() => () => <Route path="/article" component={Article}/>}>Read more</button>
</div>
</div>
</div>
))}
</div>
</Router>
);
};
export default Posts;
但是目前当用户点击按钮时什么都没有发生,我怎样才能实现重定向到所需的组件?
解决方案
您可以使用props.history.push();
或Router.push();
功能。
推荐阅读
- ruby - TypeError 问题:Sinatra + JSON.parse 中没有隐式转换
- tsql - 如何只检索一行
- python - 在不丢失会话的情况下从用户那里获取双因素身份验证代码(Flask 服务器)
- azure-data-lake - 从 Windows 资源管理器访问 azure 数据湖文件夹
- reactjs - 如何更改反应选择颜色
- php - 删除所有目录/subs/文件,24 小时前...但不是 root - PHP
- html - 为什么固定/绝对元素的宽度回退给子元素?
- windows - 如何使用 bat 将文件夹复制到新创建的时间戳文件夹?
- python - Intellij 点击查看差异链接
- excel - VBA Vlookup 缓慢且崩溃