কনট অ্যাপ: () => প্রতিক্রিয়া $ নোড = () => {…}: এই নির্দেশের অর্থ কী?


23

অন react-native init ProjectName, প্রধান অ্যাপ্লিকেশন ফাইলটিতে App.jsনিম্নলিখিত উপায়ে একটি উপাদান ঘোষণার অন্তর্ভুক্ত রয়েছে:

const App: () => React$Node = () => {...}

এই নির্দেশের অর্থ কী?

আমি বলতে চাচ্ছি, আমি হিসাবে সংজ্ঞায়িত করা উপাদান ব্যবহার করছি const App = () => {...}, অভিব্যক্তি মধ্যে বিশেষ করে, যাতে আমি বুঝতে পারছি না : () => React$Node


8
আপনি কি নিশ্চিত যে এটি কোনও জেএস ফাইল? টাইপস্ক্রিপ্ট মত দেখাচ্ছে।
Phix

4
@Phix আমার মনে হয় এটা ফ্লো ব্যবহার করছে
মার্কো

2
আহ বোঝা যায়।
Phix

উত্তর:


15

ফ্লো থেকে এর ধরণের সংজ্ঞা, এর অর্থ হ'ল ধ্রুব অ্যাপটি টাইপ ফাংশন এবং এটি রিঅ্যাক্টনোড দেয়।

রিঅ্যাক্টনোড এই ধরণের একটি: ReactChild | ReactFragment | ReactPortal | boolean | null | undefined

এর অর্থ ফাংশন অ্যাপটি ফিরে আসতে পারে, যে কোনও বৈধ জেএসএক্স (ভিউ, টেক্সট, .etc থেকে এর কোনও কিছুই দেশীয় প্রতিক্রিয়াতে), রিঅ্যাক্টফ্র্যাগমেন্ট, রিঅ্যাক্ট.পোর্টাল, বুলিয়ান, নাল, অপরিজ্ঞাত

আপনি যদি ডলারের চিহ্ন সম্পর্কে বিভ্রান্ত হন তবে ব্যাখ্যা সহ এখানে একটি লিঙ্ক রয়েছে। https://www.saltycrane.com/flow-type-cheat-sheet/latest/

নামে একটি with সহ "ব্যক্তিগত" বা "যাদু" ধরণের পৃথক বিভাগ রয়েছে। এখানে নোট দেখুন এবং মন্তব্য। আপডেট: এই ধরণের কয়েকটি এখানে এখন নথিভুক্ত।

সহজেই আপনি এটিকে এর Nodeথেকে এটি হিসাবে ভাবতে পারেন React(এটিকে সুযোগ / নামস্থান হিসাবে ভাবেন)


3
টাইপস্ক্রিপ্টটি ReactNodeছাড়াই হবে$
Tomasz Błachut

আমি দেখতে পাচ্ছি যে নমুনাটি রিয়েটিভ নেটিভ ফ্লো ব্যবহার করে। তবে আমি প্রবাহ সম্পর্কে কোনও ডকুমেন্টেশন পাই না React$Node। আপনি এই বিষয়টি পরিষ্কার করতে আমাকে সাহায্য করতে পারেন?
মার্কো

ঠিক আছে @ মারকো আমার খারাপ প্রবাহটি, টাইপস্ক্রিপ্ট নয় তবে আমি আমার উত্তরে উল্লেখ করেছি যেমন প্রতিক্রিয়া নোডটি মূলত আপনি যে কোনও উপাদান রেন্ডার করতে পারেন তা পুরো সংজ্ঞাটি উত্তরে রাখবে।
লুকা গিবো ভাইক

ঠিক আছে, তবে আমি এখনও React$Node(ডলারের চিহ্ন ...) সম্পর্কে কিছু মিস করছি , আমার অর্থ, ফ্লো ডকটিতে এটির কোনও রেফারেন্স নেই
মার্কো

@ মার্কো উত্তরটি স্থির করেছেন, রিঅ্যাক্টনোড ফ্লো থেকে নয়, নির্দিষ্ট ধরণের প্রতিক্রিয়াটির জন্য এটির একমাত্র প্রবাহ সংজ্ঞা
লুকা গিবো ভাইক

1

প্রতিক্রিয়া $ নোড একটি প্রকার যা রিঅ্যাক্ট.জেএস এ সংজ্ঞায়িত হয়

declare type React$Node =
  | null
  | boolean
  | number
  | string
  | React$Element<any>
  | React$Portal
  | Iterable<?React$Node>;

1

এটি একটি ফাংশন হিসাবে অ্যাপ উপাদানটি ঘোষণার এক ধরণের তবে আপনি এটিতে পরিবর্তন করতে পারেন

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

export default class App extends Component {
    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.instructions}>Hello World!</Text>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF'
    },
    instructions: {
        textAlign: 'center',
        color: '#333333',
        marginBottom: 5
    }
});

শেষ লাইনে বিবৃতি রফতানি ডিফল্ট অপসারণ করতে ভুলবেন না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.