React Native父组件调用子组件

本文通过一个Demo展示了在React Native中如何实现父组件调用子组件的功能。无论组件是否分离,关键在于父组件如何正确地触发子组件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

////用组件化写的
import React, { Component } from "react";
import { Text, View } from "react-native";
import Greeting1 from "./Greeting.js";

class Greeting extends Component {
  render() {
    let { foo, bar } = { foo: "aaa", bar: "bbb" };
    console.log(foo);
    
    console.warn(this.props.name)
    console.log(' this is a big date')
    return (
      <View style={{alignItems: 'center'}}>
        <Text>Hello {this.props.name}!</Text>
      </View>
    );
  }
}

export default class App extends Component {
  _log(log){
    console.warn(log);
    return null;
  }
  render() {
    console.warn("main begin");
    return (
      <View style={{ alignItems: "center" }}>
        <Greeting name="Rexxar" />
        <Greeting1 name="Jaina" />
        <Greeting name="Valeera" />
        {this._log("0000")}
      </View>
    );
  }
}

 

// Greeting.js 文件
import React, { Component } from 'react';
import { Text, View } from 'react-native';
import PropTypes from 'prop-types'

export default class Greeting extends React.Component {

  render() {
      console.warn(this.props.name);
    return (
      <View style={{alignItems: 'center'}}>
        <Text>Hello {this.props.name}!</Text>
      </View>
    );
  }
}

上面的Demo 就是父组件调用子组件,如果不用组件形式写,放在一个文件里,代码如下所示:

//不用组件化的形式写的
//app.js 文件里
import React, { Component } from 'react';
import { Text, View } from 'react-native';

//组件化形式是这么写
class Greeting extends Component {
  render() {
    return (
      <View style={{alignItems: 'center'}}>
        <Text>Hello {this.props.name}!</Text>
      </View>
    );
  }
}

export default class LotsOfGreetings extends Component {

  _renderCellView(name){
    return (
      <View style={{alignItems: 'center'}}>
        <Text>Hello {name}!</Text>
      </View>
    );
  }

  render() {
    return (
      <View style={{alignItems: 'center'}}>
        {this._renderCellView("RXjava")}
        {this._renderCellView("RNIOS")}
        {this._renderCellView("RNandroid")}
      </View>
    );
  }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值