Touchable HighlightからのonPressコールからカスタムアラートコンポーネントを起動しようとしています。私はこれを動作させることができませんでした。私はカスタムアラートコンポーネントのレンダリング機能の内部からコンソールログを試みました。このログは表示されないため、この時点ではコードは実行されません。混乱しているのは、これをReact-Native Alertでテストしたとき、これが実行され、Alertが表示されたということです。私は何かを誤解していると感じているので、私がここで間違っていることを理解する助けに感謝します。以前はAlertコンポーネントを使用していましたが、正常に動作しますが、これらのインスタンスでは、onPressから直接警告を呼び出したときしかありませんでした。反応ネイティブのカスタムアラートを返します
onPress() {
return (
<Alert
message={i18n('alerts.improvements')}
/>
)
}
render() {
return (
<TouchableHighlight onPress={() => this.onPress.bind(this)}>
<Text>Test Text</Text>
</TouchableHighlight>
)
}
ヒットされませんコンソールログと警告コンポーネント:
class Alert extends Component{
props: {
message: string
}
state = {
modalVisible: false,
}
setModalVisible(visible) {
this.setState({modalVisible: visible});
}
render() {
console.log('modal')
return (
<Modal
animationStyle='fade'
transparent={true}
visible={!this.state.modalVisible}
onRequestClose={() => {}}
>
<View style={styles.container}>
<Text style={styles.text}>{this.props.message}</Text>
</View>
</Modal>
)
}
}
export default Alert
あるべき '<警告メッセージ= {...}>'しない 'メッセージ= {...}' –
Li357
謝罪視認性
isOpen
支柱を有します、これはここのタイプミスで、正しいコードを反映するようにこれを更新しました。ありがとう – Lilp''を 'render'自体にデフォルトで表示されている' true'に置いてチェックしてください。それは動作していて、コンポーネントコードが動作しています。 –