0
コンポーネントをレンダリングすると、props
には正しい値が示されますが、生成するdiv要素にはbackground-position-x
またはbackground-position-y
がありません。インラインスタイルのbackground-position-x属性またはy属性が設定されていないことがあります
私は親クラスで、次のような何か:問題の
//Class ImageSelector is roughly:
onClick() {
this.state.image = randomlySelectImage()
}
render() {
return <ItemIcon image={this.state.image}/>
}
アイコン:fudgeupが発生した場合
class Icon extends React.component
render() {
console.log(this.props.image)
let style = {
width: 48,
height: 48,
background: `url('./img/${this.props.image.sprite}')`,
backgroundPositionX: -this.props.image.x,
backgroundPositionY: -this.props.image.y
}
return <div style={style}/>;
}
は、開発ツールを反応させるのは、アイコンが実際に適切であることを示しています値はx = 192
とy = 384
であり、divのstyle
でも正しい値が表示され、検査のdiv要素はurl("./img/sprite0.png") -384px
のようになります。 x
の値がありません。理由はわかりません。
あなたはそれが未定義ではない、ヌル、または他の偽の値ではないと確信していますか? –
はい。 React Dev toolsは問題のdivで次のように表示されます:http://i.imgur.com/427qf1w.png – Everspace
これは素晴らしい答えではありませんので、コメントとして追加しますが、 'backgroundPosition:this .props.x + "px" + "" + this.props.y + "px" 'は動作しますか? –