touchableOpacityコンポーネントに.png画像ファイルが含まれています。画像ソースの1つを変更し、変更イベントをonPressイベントにバインドします。私は現在プレスイベントに応答して画像ソースを更新する方法
source: require('someSource.png')
ようgetInitialState(中プロップ)としてソースを初期化したonPress関数へ
this.setState({source: require('someOtherSource.png')});
を実装します。何とかresizeMode: 'contains'をイメージスタイルに追加したので、イメージのサイズはそれに応じて変更されます。しかし、2番目の画像ファイルはビューにロードされませんでした。 画像表示部分:ので、私はdoRegisterでSETSTATE機能があるかもしれない呼び出すと思っ
this.setState({source: require('someOtherSource.png')});
私がイメージソースの3つの状態があります
<TouchableOpacity style={styles.newUserRegister}
onPress={this.doRegister}>
<Image style={styles.accNewUser} source={this.state.source}/>
</TouchableOpacity>
とdoRegister()関数の中でより良い解決策。場合も
それはスタイリングに問題がある場合、これは私があなたのケースのために、この例をしたaccNewUser
accNewUser:{
marginTop:5,
resizeMode: 'contain',
alignItems: 'center',
},
さらに詳しい情報を提供できますか? – klaasman
@Klaasman詳細を追加しました –
はコンポーネントの有効範囲にバインドされた 'doRegister'メソッドですか?さもなければ、メソッドはコンポーネントの 'setState'を提供しないスコープで間違って呼び出されます。 私の心が沸き起こった何か:コンポーネントの外部に依存関係をインポートしてみてください。 'const someOtherSourceImg = require( 'someOtherSource.png')'それを 'this.setState({source:someOtherSourceImg});として使用します。 ' – klaasman