そのルートをたどった後にレンダリングしないコンポーネントに何らかの問題があります。ルートは親コンポーネントDrawings
で作成され、Drawing
コンポーネントにいくつかの小道具を送信します。リアクタがリアクタでレンダリングされていない
リンクをクリックすると、適切なパス(例:/drawing/20170724
)が取得され、render
機能のログステートメントが実行されます。私も小道具を手に入れました。しかし、リターンは起こらないので、必要なHTMLは利用できません。
import React, { Component } from "react";
import { Route, Link } from "react-router-dom";
import AnimatedWrapper from "../modules/AnimatedWrapper";
import Drawing from '../components/Drawing';
class DrawingsComponent extends Component {
render() {
const drawings = this.props.drawings;
const drawingsMap = this.props.drawingsMap;
return(
<div>
<div className="page">
<div className="drawings-list">
{
drawings.map((drawing) => {
return(
<Link to={`/drawing/${drawing.date}`} key={drawing.date}>
<div className="drawing-thumb">
<h2>{drawing.date}</h2>
</div>
</Link>
)
})
}
</div>
{
Object.keys(drawingsMap).map((d, i) => {
return <Route path={`/drawing/${drawings[i].date}`} render={(props) => (<Drawing drawingPkg={drawingsMap[d]} drawingInfo={drawings[i]} {...props} />)} key={`${drawings[i].date}`}/>
})}
</div>
</div>
)
}
}
const Drawings = AnimatedWrapper(DrawingsComponent);
export default Drawings;
そして、ここではDrawing
次のとおりです:
import React, { Component } from 'react';
import AnimatedWrapper from "../modules/AnimatedWrapper";
class DrawingComponent extends Component {
render() {
const drawing = this.props.drawingPkg;
const drawingInfo = this.props.drawingInfo;
console.log('gonna draw now');
return(
<div className="drawing">
<h2 className="drawing-title">{drawingInfo.title}</h2>
<canvas></canvas>
</div>
)
}
}
const Drawing = AnimatedWrapper(DrawingComponent);
export default Drawing;
描画コンポーネントが戻っていない理由を私は理解することはできません。ここ
はルートとのリンクが作成されているDrawings
です。
コンソールエラーは、他の人があなたの状況をより早く理解するのに役立ちますか?それを提供するのを助けてください。 – thelonglqd
申し訳ありませんが、コンソールエラーはありません。すべてうまく動作します。リンクをクリックすると 'DrawingComponent'ログのログステートメントがコンソールに表示されますが、返されるHTMLがDOMに存在しないため、returnステートメントは実行されません。 – alightedlamp