import React from 'react';
import {
View,
Text,
Button,
TextInput,
StyleSheet
} from 'react-native';
const username = null;
const SetupForm = ({onSubmit}) => {
this.handleUsernameInput = (text) => {
username = text;
}
this.handleSetupSubmit = (event) => {
onSubmit(event, username);
}
this.handleSkipSubmit = (event) => {
onSubmit(event, false);
}
return (
<View>
<Text>Enter username:</Text>
<TextInput
placeholder="Username"
maxLength={20}
onSubmitEditing={this.handleSetupSubmit}
onChangeText={this.handleUsernameInput}
style={{ marginLeft: 20, marginRight: 20 }}
/>
<View>
<Button
title="Select"
onPress={this.handleSetupSubmit}
color="#34A853"
disabled={username === null}
/>
<Button
title="Maybe Later"
onPress={this.handleSkipSubmit}
color="red"
/>
</View>
</View>
);
}
export default SetupForm;
我有這個安裝表單的問題。它具有我設置爲用戶輸入的值的用戶名文本框。 onChangeText={this.handleUsernameInput}
反應原生組件按鈕不啓用
對於選擇按鈕我已設置disabled
當username === null
但是,在文本框中輸入文本時,這絕不會變成錯誤。
文本框設置打字時設置的用戶名,我可以在其正常工作控制檯中看到,當我按下通過鍵盤按鈕提交與終極版動作
{type: "SETUP.REQUEST", username: "aaaaaaa"}
是有什麼我在這裏做錯了,當文本被this.handleUsernameInput
方法設置時,按鈕沒有被啓用?
如GIF: http://i.imgur.com/OuMkxHA.gifv
我必須單擊用戶名輸入後,跳過按鈕,使按鈕啓用(綠色環保),我希望這能同時輸入
檢查,看看你的渲染功能被再次召喚。我懷疑這不是因爲你的'username'不是一個道具或狀態變量。由於渲染函數不會再次被調用,所以'disable' prop不會被重新評估。 –