2017-11-26 3 views
1

こんにちは、私はとても反応して新しいです。 以下react-nativeでthis.stateを使用するには?

import React from 'react'; 
import { StyleSheet, Text, View, TouchableHighlight, AsyncStorage} from 'react-native'; 

export default class App extends React.Component { 
    constructor(){ 
     super(); 
     this.state = { 
      myLeader: 'Joe', 
     }; 
    } 

    onPress(){ 
     alert({this.state.myLeader}); // 14 
    } 
    render() { 
     return (
      <View> 
       <TouchableHighlight onPress={this.onPress.bind(this)}>   
        <Text>{this.state.myLeader}</Text> 
       </TouchableHighlight> 
      </View> 
     ); 
    } 
} 

どのようにこの問題を解決するために...私のコードですか?

エラーメッセージはこちらです。任意の手掛かりなぜ '(この)バインドを' 私が試した

onPress(){ 
    alert({this.state.myLeader}); 
} 

私は{this.state.myLeader}を使用したい: '14.9これは予約語(14.9)Home.jsですか'?ネイティブリアクトでthe docを見て、アラートを使用するには

console.log(this.state.myLeader)

:でライン14を交換する

+0

onPress(){ alert(this.state.myLeade r); } //それは – sonicmario

答えて

0

{}の使用には注意してください。 JSXのコンテキストでは、{}を使用して、その中の値を「補間」することができます。しかし、普通のJavaScriptコード(alert({this.state.myLeader})のような)を書く場合は、何も補間する必要はありません。値this.state.myLeaderalertに渡すだけです(alert(this.state.myLeader))。

React Native内でのalertの使用に関しては、@kytwb's adviseに従い、Alert.alertを使用することをお勧めします。その後

import { StyleSheet, Alert, Text, View, TouchableHighlight, AsyncStorage} from 'react-native';

、たonPress機能変更:

+0

ありがとうございますjulioolvr。 – sonicmario

0

してみてください。

+0

ありがとうございました – sonicmario

0

まず、反応ネイティブから輸入アラート別の解決策は、バインドを忘れると、これを行うことです

onPress(){ 
    Alert.alert(this.state.myLeader); // 14 
} 
0

を:

onPress =() => { 
     alert({this.state.myLeader}); // 14 
    } 

<TouchableHighlight onPress={this.onPress}>  
関連する問題