Что такое шаблон рендеринга в React Native?
React Native — это язык на основе javascript, который используется для разработки пользовательского интерфейса (пользовательского интерфейса). В этой статье мы узнаем о рендеринге опорных шаблонов в React Native.
Render Props — это метод в ReactJS для совместного использования кода между компонентами React с использованием реквизита, значением которого является функция. Дочерний компонент принимает реквизиты рендеринга как функцию и вызывает их вместо реализации собственной логики рендеринга. Короче говоря, мы передаем функцию от родительского компонента дочернему компоненту в качестве реквизита рендеринга, и дочерний компонент вызывает эту функцию вместо реализации собственной логики.
Чтобы создать приложение React-Native, мы будем использовать версию Expo CLI, которая будет намного более плавной для запуска ваших приложений React Native.
Expo: Это фреймворк и платформа для универсальных приложений React. Это набор инструментов и сервисов, созданных на основе React Native и нативных платформ, которые помогают разрабатывать, создавать, развертывать и быстро выполнять итерации для iOS, Android и веб-приложений на основе одной кодовой базы JavaScript/TypeScript.
Ниже приведена пошаговая реализация описанного выше подхода.
Шаг 1: Откройте терминал и выполните приведенную ниже команду.
npm install -g expo-cli
Шаг 2: Теперь expo-cli установлен глобально, поэтому вы можете создать папку проекта, выполнив приведенную ниже команду.
expo init "projectName"
Шаг 3: Теперь перейдите в созданную папку и запустите сервер с помощью следующей команды.
cd "projectName"
Структура проекта: это будет выглядеть следующим образом
Шаг для запуска приложения : для запуска программы React-Native используйте следующую команду.
npm start web
Пример: в этом примере кнопка передается как реквизит из родительского компонента. Предупредительное сообщение отображается при нажатии этой кнопки.
Теперь запишите следующий код в файл App.js. Здесь приложение является нашим компонентом по умолчанию, в котором мы написали наш код.
Javascript
import * as React from "react" ; import { Button,Alert,Text, View, StyleSheet } from "react-native" ; import Constants from "expo-constants" ; function ChildComponentWithProps(props) { return ( <View> <Text>I am Child Component</Text> {props.renderProps()} </View> ); } function ParentComponentPassingProps() { return ( <ChildComponentWithProps // Passing render props to the child component renderProps={() => { return ( <View> <Button title= "Button from Parent" onPress={() => Alert.alert( "Hi Geek!! " )} /> </View> ); }} /> ); } export default function App() { return ( <View style={styles.container}> <Text style={styles.GFG}>GeeksforGeeks</Text> <Text>Rendering prop pattern in React-native</Text> <ParentComponentPassingProps /> </View> ); } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: "center" , paddingTop: Constants.statusBarHeight, backgroundColor: "#ecf0f1" , padding: 8, }, GFG: { color: "green" , fontWeight: "bold" , }, }); |
Выход: