- Hands-On Design Patterns with React Native
- Mateusz Grzesiukiewicz
- 228字
- 2021-08-13 15:13:00
The TextInput component
We will use this component often in the next section. The general idea is to be able to pass data from a smartphone keyboard. TextInput is used in login and registration forms and many other places where the user needs to send text data to an application.
Let's extend the HelloWorld example from Chapter 1, React Component Patterns, to accept a name:
// Chapter 2 / Example 6 / src / TextInputExample.js
export default class TextInputExample extends React.Component {
state = {
name: null
};
render = () => (
<View style={styles.container}>
{this.state.name && (
<Text style={styles.text}>
Hello {this.state.name}
</Text>
)}
<Text>Hands-On Design Patterns with React Native</Text>
<Text>Chapter 2: View Patterns</Text>
<Text style={styles.text}>
Enter your name below and see what happens.
</Text>
<TextInput
style={styles.input}
onChangeText={name => this.setState({name})}
/>
</View>
);
}
// ... styles skipped for clarity in a book, check source files.
If a user enters text in the TextInput component, then we display the entered text in a short greeting. Conditional rendering uses state to check whether the name has been defined or not. As the user types, the onChangeText event handler is invoked, and the function we passed updates the state with the new name.
Sometimes, native keyboards may overlap with your View component and hide important information. Please get familiar with the KeyboardAvoidingView component if this is the case in your app.
Check out https://facebook.github.io/react-native/docs/keyboardavoidingview.html for more information.
Check out https://facebook.github.io/react-native/docs/keyboardavoidingview.html for more information.
推薦閱讀
- Beginning C++ Game Programming
- LabVIEW入門與實戰開發100例
- 算法精粹:經典計算機科學問題的Java實現
- Mastering Kotlin
- 基于Java技術的Web應用開發
- 面向STEM的Scratch創新課程
- INSTANT MinGW Starter
- Java程序設計與實踐教程(第2版)
- Java實戰(第2版)
- 持續輕量級Java EE開發:編寫可測試的代碼
- Qlik Sense? Cookbook
- 創意UI:Photoshop玩轉APP設計
- SpringBoot從零開始學(視頻教學版)
- RESTful Web Clients:基于超媒體的可復用客戶端
- Python商務數據分析(微課版)