当前位置:首页 > React

react native 如何写组件

2026-03-11 10:24:05React

创建 React Native 组件的基本方法

React Native 组件通常通过 JavaScript 或 TypeScript 编写,分为函数组件和类组件两种形式。以下是创建组件的核心步骤:

函数组件示例

import React from 'react';
import { View, Text, StyleSheet } from 'react-native';

const MyComponent = ({ title }) => {
  return (
    <View style={styles.container}>
      <Text style={styles.text}>{title}</Text>
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    padding: 16,
    backgroundColor: '#f5f5f5'
  },
  text: {
    fontSize: 18,
    fontWeight: 'bold'
  }
});

export default MyComponent;

类组件写法

对于需要状态管理的复杂组件,可以使用类组件:

import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';

class ClassComponent extends Component {
  render() {
    return (
      <View style={styles.container}>
        <Text>{this.props.title}</Text>
      </View>
    );
  }
}

// 样式和导出同上

组件属性类型检查

使用 PropTypes 或 TypeScript 进行类型检查:

import PropTypes from 'prop-types';

MyComponent.propTypes = {
  title: PropTypes.string.isRequired
};

// TypeScript 接口写法
interface Props {
  title: string;
}

状态管理

函数组件中使用 useState Hook:

const [count, setCount] = React.useState(0);

类组件中使用 this.state:

this.state = { count: 0 };
this.setState({ count: this.state.count + 1 });

生命周期管理

函数组件使用 useEffect Hook:

React.useEffect(() => {
  console.log('组件挂载');
  return () => console.log('组件卸载');
}, []);

类组件使用传统生命周期方法:

componentDidMount() {
  console.log('组件挂载');
}
componentWillUnmount() {
  console.log('组件卸载');
}

样式组织

推荐使用 StyleSheet 创建样式对象:

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center'
  }
});

组件复用模式

高阶组件(HOC)示例:

function withLogger(WrappedComponent) {
  return (props) => {
    console.log('组件渲染:', props);
    return <WrappedComponent {...props} />;
  };
}

最佳实践建议

  • 保持组件单一职责原则

  • 将大型组件拆分为多个小组件

  • 使用 memo 优化性能:

    export default React.memo(MyComponent);
  • 为可交互组件添加 accessibility 属性

  • 使用主题上下文统一样式管理

    react native 如何写组件

标签: 组件如何写
分享给朋友:

相关文章

java如何写一个接口

java如何写一个接口

在Java中定义接口 接口在Java中是一种抽象类型,用于定义一组方法规范,供类实现。接口通过interface关键字声明,可以包含抽象方法、默认方法、静态方法和常量。 public inter…

vue实现组件跟随

vue实现组件跟随

Vue 实现组件跟随效果 实现组件跟随效果通常需要监听鼠标或触摸事件,动态更新组件位置。以下是几种常见实现方式: 使用鼠标事件绑定 <template> <div class=…

vue轮播组件实现

vue轮播组件实现

vue轮播组件实现方法 使用第三方库(如Swiper) 安装Swiper库: npm install swiper 在Vue组件中引入: <template> <div cl…

vue实现递归组件

vue实现递归组件

递归组件的实现方法 在Vue中实现递归组件主要依靠组件调用自身的能力。以下是几种常见的实现方式: 使用组件name属性 通过组件的name属性实现递归调用是最简单的方式: <template…

vue实现头像组件

vue实现头像组件

Vue 头像组件实现 基础实现 创建一个可复用的头像组件,支持图片链接或文字缩写显示: <template> <div class="avatar" :style="ava…

vue实现组件刷新

vue实现组件刷新

强制重新渲染组件 使用 this.$forceUpdate() 方法可以强制 Vue 实例重新渲染,但不会更新子组件。适用于依赖非响应式数据的情况。 methods: { refreshComp…