私は反応ルータを使用してメインページのカードセットを他の個々のページに誘導しています。しかし、私がカードをクリックすると、新しいページだけがレンダリングされるので、新しいページが一連のカードの下にレンダリングされます。私の問題は、App.jsがメインページを保持していることと関係していると思いますが、別のリンクがあればどこに置くべきかわかりません。私はどんな助けもありがとう!ここreact-router v4.2.2スイッチが機能していません。常にメインコンポーネントを表示する
import React from 'react';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
import ProjectCard from '../components/project_card.js';
import Project1 from '../components/project1.js';
class ProjectCards extends React.Component {
render() {
var projectCards = this.props.projects.map((project, i) => {
return (
<div key={i}>
<Link to={`/${project.title}`}>
<ProjectCard title={project.title} date={project.date} focus={project.focus}/>
</Link>
</div>
);
});
return (
<div>{projectCards}</div>
);
}
}
function mapStateToProps(state) {
return {
projects: state.projects
};
}
export default connect(mapStateToProps)(ProjectCards);
ルートコンテナされています:
import React from 'react';
import Project1 from '../components/project1.js';
import { connect } from 'react-redux';
import { Route, Switch } from 'react-router-dom';
import { withRouter } from 'react-router';
class Routes extends React.Component{
render() {
var createRoutes = this.props.projects.map((project, i) => {
return <Route key={i} exact path={`/${project.title}`} exact component={Project1}/>
});
return (
<Switch>
{createRoutes}
</Switch>
);
}
}
function mapStateToProps(state) {
return {
projects: state.projects
};
}
export default withRouter(connect(mapStateToProps)(Routes));
ルートを別のコンポーネントとして考えると、switchステートメントの結果がレンダリングされます。 ProjectCardをルートにも移動したいのですが、これは別のルートです。 – brub
ありがとう、私はそれをして、app.jsにすべてのルートを移動し、今はすべて正常です。 – user74843