- 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.
推薦閱讀
- Mastering JavaScript Object-Oriented Programming
- JavaScript:Functional Programming for JavaScript Developers
- Java Web基礎(chǔ)與實例教程(第2版·微課版)
- Developing Middleware in Java EE 8
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- 前端架構(gòu):從入門到微前端
- Cassandra Data Modeling and Analysis
- Mastering LibGDX Game Development
- 數(shù)據(jù)結(jié)構(gòu)與算法分析(C++語言版)
- Getting Started with Gulp
- Working with Odoo
- 微服務(wù)從小白到專家:Spring Cloud和Kubernetes實戰(zhàn)
- Learning Node.js for .NET Developers
- Java并發(fā)編程之美
- Qt 4開發(fā)實踐