在React Native開發中,自訂元件是一種關鍵的實踐,因為它們允許開發者創建可重用和模組化的UI元素。這節將解釋為何自訂元件是重要且有益的:
React Native的自訂元件基本上分為兩種:Class Component(類別元件)和 Functional Component(函數元件)。我們可以包括兩種方式:使用<class>
和使用<function>
定義元件。同時,講解如何導出元件並在應用程式中使用它。
// Class Component
import React, { Component } from 'react';
import { View, Text } from 'react-native';
class MyComponent extends Component {
render() {
return (
<View>
<Text>Hello, I am a Class Component!</Text>
</View>
);
}
}
// Functional Component
import React from 'react';
import { View, Text } from 'react-native';
const MyComponent = () => {
return (
<View>
<Text>Hello, I am a Functional Component!</Text>
</View>
);
};
export default MyComponent;
<props>
用於將數據傳遞到元件,而<state>
用於管理元件的內部狀態。提供實例展示,如何通過這兩者進行數據的傳遞和管理。
import React, { useState } from 'react';
import { View, Text, Button } from 'react-native';
const MyComponent = (props) => {
const [count, setCount] = useState(0);
const handlePress = () => {
setCount(count + 1);
};
return (
<View>
<Text>{props.title}</Text>
<Text>Count: {count}</Text>
<Button title="Increase Count" onPress={handlePress} />
</View>
);
};
export default MyComponent;
<componentDidMount>
和<componentWillUnmount>
。這兩個生命週期方法可用於執行在元件掛載和卸載時需要進行的操作,以實現更高級的功能。
import React, { Component } from 'react';
import { View, Text } from 'react-native';
class MyComponent extends Component {
componentDidMount() {
console.log('Component is mounted');
// 可以在這裡執行初始化操作
}
componentWillUnmount() {
console.log('Component will unmount');
// 可以在這裡清理資源或取消訂閱
}
render() {
return (
<View>
<Text>Hello, I am a Class Component!</Text>
</View>
);
}
}
export default MyComponent;