亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

const App: () => React$Node = () = 這個指令是什么意思?

const App: () => React$Node = () = 這個指令是什么意思?

慕的地8271018 2021-11-12 15:38:23
on react-native init ProjectName,主應用程序文件App.js以以下方式包含組件的聲明:const App: () => React$Node = () => {...}這個指令是什么意思?我的意思是,我習慣于將組件定義為const App = () => {...},所以我不明白,特別是 之間的表達式: () => React$Node。
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

它的類型定義來自 Flow,這意味著常量 App 是函數類型,它返回 ReactNode。

ReactNode 是以下類型之一: ReactChild | ReactFragment | ReactPortal | boolean | null | undefined

這意味著函數 App 可以返回任何有效的 JSX(在 React Native 中,它來自 View、Text、.etc)、ReactFragment、React.Portal、boolean、null、undefined

如果您對美元符號感到困惑,這里有一個解釋鏈接。 https://www.saltycrane.com/flow-type-cheat-sheet/latest/

名稱中帶有 $ 的“私有”或“魔法”類型有單獨的部分。請參閱此處的注釋并在此處發表評論。更新:現在這里記錄了一些這些類型。

為簡單起見,您可以將其視為Node來自React(將其視為范圍/命名空間)


查看完整回答
反對 回復 2021-11-12
?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

它也是一種將 App 組件聲明為函數的類型,但您可以將其更改為


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

    }

});

不要忘記在最后一行刪除語句導出默認應用程序。


查看完整回答
反對 回復 2021-11-12
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

React$Node 是 react.js 中定義的類型


declare type React$Node =

  | null

  | boolean

  | number

  | string

  | React$Element<any>

  | React$Portal

  | Iterable<?React$Node>;


查看完整回答
反對 回復 2021-11-12
  • 3 回答
  • 0 關注
  • 578 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號