2
TextInput
のフルスクリーンを作成しました。NavigationBar
のPost button
が押されたときに処理を実行したいと考えています。しかし、私がButton
が呼び出す方法をonPress
が静的メソッドをプロポーズする必要があるため、私はstate
へのアクセス権がありません。リアクションネイティブナビゲーション - コンポーネントの状態を使用した操作
ここに私の現在のコードがあり、状態はconsole.log
で定義されていません。
import React, { Component } from 'react';
import { Button, ScrollView, TextInput, View } from 'react-native';
import styles from './styles';
export default class AddComment extends Component {
static navigationOptions = ({ navigation }) => {
return {
title: 'Add Comment',
headerRight: (
<Button
title='Post'
onPress={() => AddComment.postComment() }
/>
),
};
};
constructor(props) {
super(props);
this.state = {
post: 'Default Text',
}
}
static postComment() {
console.log('Here is the state: ', this.state);
}
render() {
return (
<View onLayout={(ev) => {
var fullHeight = ev.nativeEvent.layout.height - 80;
this.setState({ height: fullHeight, fullHeight: fullHeight });
}}>
<ScrollView keyboardDismissMode='interactive'>
<TextInput
multiline={true}
style={styles.input}
onChangeText={(text) => {
this.state.post = text;
}}
defaultValue={this.state.post}
autoFocus={true}
/>
</ScrollView>
</View>
);
}
}
アイデアをお探しですか?