1
divをドットグリッドパターンで提供するコンポーネントがあります。Inline SVGの背景イメージがReact.jsで動作しない
作業を行う必要があります関数は次のようになります。
drawSquareDotGrid(distance, unit, colour){
var newGrid = "data:image/svg+xml;utf8,<svg width=\""+distance+unit+"\" height=\""+distance+unit+"\"><circle cx=\"4mm\" cy=\"4mm\" r=\"0.3mm\" fill=\""+colour+ "\"/></svg>"
this.setState({grid: newGrid })
}
を、これは私のレンダリング機能である:
render() {
const windowHeight = window.innerHeight - 105
const sx = {width: "100%",
height: windowHeight,
backgroundImage: 'url('+ this.state.grid +')'}
return (
<div style={sx}></div>
)
}
はSVGを持つ文字列が生成されたHTMLしかし、それやや作品には表示されません。もし私がより単純なSVGをこのように使用するならば:
var newGrid = "data:image/svg+xml;utf8,<svg><circle></svg>"
どのようにこれを修正するのですか?
ありがとうございました!
Rostaの
の特殊文字をエンコードするようにしてください:
固定コードは次のようになります。これを行うには、 'window.encodeURIComponent'を使用してください。 – Kaiido
@Kaiidoあなたの答えをありがとう。私はこの機能を文字列全体と特殊文字の両方に使用しようとしました。何の効果もないようです。 – Gotty
@ Kaiidoあなたは結局のところ、SVGヘッダーからviewPortとxlmnsが欠落していました。もう一度感謝:) – Gotty