Поиск…


Основной компонент

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

class Example extends Component {
  render () {
    return (
      <View> 
        <Text> I'm a basic Component </Text>
      </View>
    )
  }
}

AppRegistry.registerComponent('Example', () => Example)

Компонент состояния

Эти компоненты будут иметь изменяющиеся государства.

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

class Example extends Component {
  constructor (props) {
    super(props)
    this.state = {
      name: "Sriraman"
    }  
  }
  render () {
    return (
      <View>
        <Text> Hi, {this.state.name}</Text>
      </View>
    )
  }
}

AppRegistry.registerComponent('Example', () => Example)

Компонент без гражданства

Как следует из названия, у Stateless Components нет локального состояния. Они также известны как Dumb Components . Без какого-либо локального состояния этим компонентам не нужны методы жизненного цикла или большая часть шаблона, который поставляется с компонентом с состоянием.

Синтаксис класса не требуется, вы можете просто выполнить const name = ({props}) => ( ... ) . В результате, как правило, элементы без гражданства являются более краткими.

Ниже приведен пример двух App и Title без гражданства с демонстрацией прохождения реквизита между компонентами:

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

const Title = ({Message}) => (
  <Text>{Message}</Text>
)    

const App = () => (
  <View>
    <Title title='Example Stateless Component' />
  </View>
)

AppRegistry.registerComponent('App', () => App)

Это рекомендуемая модель для компонентов, когда это возможно. Как и в будущем, можно оптимизировать эти компоненты, уменьшая выделение памяти и ненужные проверки.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow