ルートに応じて、約30000 svg要素をレンダリングする必要があります。 ルートがwww.myapp.com/svg-data/personに似ている場合は、person.svgをレンダリングする必要があります。反応コンポーネントとしてsvgをdinamicallyロードする
後で同じルートで、このsvgを変更することができます:背景色、テキスト、またはあらかじめ定義されたレイヤーを追加します。 私は反応成分としてsvgをロードすべきだと思います。私はライブラリhttps://github.com/boopathi/react-svg-loaderを見ていますが、私はそれが本当に私の目的に合っているとは思わない。
私の最後の思考は、私は、パラメータとして来るものは何でもSVGをレンダリングする汎用コンポーネントを構築すべき文字列としてSVGデータを取得し、他のものの間でSVGを返すコンポーネント内にレンダリング...
についてです:小道具に応じて、それはテキスト、またはオンデマンドで他のものを追加する必要があります
render() {
const {svgData, textForSVGData} = this.props
let svgText=null
if (textForSVGData) {
svgText= <text x='250' y='150' font-size='55'> {textForSVGData} </text>
}
return (
<svg>
{this.props.svgData}
{svgText}
</svg>
)
}
:
componentDidMount() {
if (this.props.params.searchText) {
this.props.requestSVG(this.props.params.searchText)
}
}
componentWillReceiveProps(nextProps) {
if (this.props.params.searchText !== nextProps.params.searchText) {
this.props.requestSVG(nextProps.params.searchText)
}
}
のようなものをレンダリングするでしょう。このコンポーネント。私は何かが恋しいですか?これはそれを行う良い方法ですか?
私はwebpackを使用しています。ちょうど私のjsコードに30000000のSVGコンポーネントを統合する方法を知らない! – user2670996