React native Const vs Class函数是React Native函数
我最近一直在看一些关于RN的教程,我注意到其中一些在创建组件时不使用class,而是使用const。下面的代码显示了该特定教程应用程序的主屏幕。我的问题是:他们这样做而不使用类有什么原因吗?还有,这有关系吗?您使用const而不是class有什么特别的原因吗React native Const vs Class函数是React Native函数,react-native,React Native,我最近一直在看一些关于RN的教程,我注意到其中一些在创建组件时不使用class,而是使用const。下面的代码显示了该特定教程应用程序的主屏幕。我的问题是:他们这样做而不使用类有什么原因吗?还有,这有关系吗?您使用const而不是class有什么特别的原因吗 const HomeScreen = ({ navigation }) => { return ( <View> <Text style={styles.textStyle}>
const HomeScreen = ({ navigation }) => {
return (
<View>
<Text style={styles.textStyle}>This is the Home Screen</Text>
<Button title="Go to Components Demo"
onPress={() => navigation.navigate('Components')}
/>
<Button title="Go to list demo"
onPress={() => navigation.navigate('List')}
/>
<Button title="Go to Image Screen"
onPress={() => navigation.navigate('Image')}
></Button>
<Button title="Go to Counter"
onPress={() => navigation.navigate('Counter')}
></Button>
<Button title="Colors"
onPress={() => navigation.navigate('Color')}
></Button>
<Button title="Squares"
onPress={() => navigation.navigate('Square')}
></Button>
</View>
);
};
const styles = StyleSheet.create({
textStyle: {
fontSize: 30,
textAlign: "center"
},
});
export default HomeScreen;
const主屏幕=({navigation})=>{
返回(
这是主屏幕
navigation.navigate('Components')}
/>
navigation.navigate('List')}
/>
导航。导航('Image')}
>
navigation.navigate('Counter')}
>
导航。导航('Color')}
>
navigation.navigate('Square')}
>
);
};
const styles=StyleSheet.create({
文本样式:{
尺寸:30,
textAlign:“居中”
},
});
导出默认主屏幕;
如果不使用state,则应使用const,它被称为无状态函数。这是关于性能的。如果使用state,则必须使用class。(react的早期版本)如果升级react native并使用挂钩,则情况会有所不同
我认为您应该检查类与无状态函数的关系 您发布的示例是一个
无状态函数组件
。它只是一个分配给变量const HomeScreen=
的JavaScript箭头函数。您也可以将其编写为标准匿名函数:
// the props you give to <HomeScreen/> get passed as parameter to the function
// by React. You can destructure them right in place, like with ({navigation}).
const HomeScreen = function({ navigation }) {
...
return (...)
}
//作为参数传递给函数的道具
//通过反应。您可以在适当的位置分解它们,就像({navigation})。
常量主屏幕=函数({navigation}){
...
返回(…)
}
无状态函数组件没有状态。如果您不需要状态和生命周期方法等,可以使用它们。此外,还可以使用挂钩将它们转换为有状态功能组件
钩子是预定义的函数,可以在函数组件内部使用,以增强其状态、生命周期管理等功能,但这是一个更广泛的主题
如果没有钩子,您可以使用无状态组件而不是类组件来保持代码的小型化(函数而不是类,没有这个,没有呈现函数,只需返回,通过导入函数并在组件内部使用它来更轻松地重用代码)
为了提高性能,您需要再次使用钩子(例如useMemo()钩子)。习惯挂钩的概念需要一些时间,但这是值得的。我现在更喜欢它们而不是类组件,主要是因为代码更干净。这取决于您的React版本和使用状态
有一个简单的技巧,(如果您的react版本高于16.8.0)
选择你想要的
如果没有,并且您的组件没有状态使用,您可以使用功能组件而不是基于类的组件。没有区别