- 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.
推薦閱讀
- Android Wearable Programming
- 深度學習經典案例解析:基于MATLAB
- Boost C++ Application Development Cookbook(Second Edition)
- C語言程序設計實訓教程
- JavaScript:Moving to ES2015
- Java SE實踐教程
- Arduino計算機視覺編程
- 智能手機故障檢測與維修從入門到精通
- 從零學Java設計模式
- Scratch從入門到精通
- Mastering ArcGIS Server Development with JavaScript
- C語言程序設計實驗指導
- 軟件再工程:優化現有軟件系統的方法與最佳實踐
- Django 3 Web Development Cookbook
- Mobile Test Automation with Appium