RN

國際化支持:node

$ yarn add react-native-i18n # 第三方多語言庫
$ yarn add react-native-device-info # 用戶獲取系統本地語言環境 
$ react-native link react-native-device-info
    I18n.getLanguages 獲取用戶首選的語言環境
    I18n.locale : 設置本地語言環境。
    I18n.defaultLocale 首選默認語言
    I18n.fallbacks : 看文檔說明我理解的意思是:若是獲取到的系統語言相似en_US en-GB這樣的,插件初始化的時候發現沒有en_US.js en-GB.js,這個時候若是設置了I18n.fallbacks = true;系統就會按這樣的(en_US en.js)順序去查找文件,就會去找有一個en.js這樣的文件, 官方建議使用I18n.fallbacks = true;
複製代碼
let timeStamp = Math.floor(new Date().getTime() / 1000).toString(); // 時間戳整數部分,是用秒爲單位的。
複製代碼

react-native中的text組件,若是不設置寬度的話,默認是父組件的寬度,顯示不下才會進行換行,開發中遇到遇到兩種狀況:一個image & text 採用橫向佈局,若是不設置text的寬度的話,超過父組件的寬度,右側的文本會有丟失的狀況;一個text & image 採用橫向佈局,若是不設置text的寬度的話,text會默認佔用父組件的所有寬度,結果右側的image被擠到了父組件以外.react

JS 中的require 和 import 區別

這兩個都是爲了JS模塊化編程使用. 遵循規範 require 是 AMD規範引入方式 import是es6的一個語法標準,若是要兼容瀏覽器的話必須轉化成es5的語法 調用時間 require是運行時調用,因此require理論上能夠運用在代碼的任何地方 import是編譯時調用,因此必須放在文件開頭 本質 require是賦值過程,其實require的結果就是對象、數字、字符串、函數等,再把require的結果賦值給某個變量 import是解構過程,可是目前全部的引擎都尚未實現import,咱們在node中使用babel支持ES6,也僅僅是將ES6轉碼爲ES5再執行,import語法會被轉碼爲require require / exports : 遵循 CommonJS/AMD,只能在運行時肯定模塊的依賴關係及輸入/輸出的變量,沒法進行靜態優化。 用法只有如下三種簡單的寫法:es6

const fs = require('fs')
exports.fs = fs
module.exports = fs
import / export// 遵循 ES6 規範,支持編譯時靜態分析,便於JS引入宏和類型檢驗。動態綁定。
// 寫法就比較多種多樣:

import fs from 'fs'
import {default as fs} from 'fs'
import * as fs from 'fs'
import {readFile} from 'fs'
import {readFile as read} from 'fs'
import fs, {readFile} from 'fs'

export default fs
export const fs
export function readFile export {readFile, read}
export * from 'fs'
複製代碼

經過require引入基礎數據類型時,屬於複製該變量。 經過require引入複雜數據類型時,數據淺拷貝該對象。 出現模塊之間的循環引用時,會輸出已經執行的模塊,而未執行的模塊不輸出(比較複雜) CommonJS模塊默認export的是一個對象,即便導出的是基礎數據類型shell

module.exports.modifyFile = function(){...};
import { DeviceEventEmitter } from 'react-native' // 引入
DeviceEventEmitter.addListener('message',param => {
      this.setState({spotShow:param.spotShow})
      console.log(param)
    });
    
// 新的方法寫法,
class A {
    hide = toast => {
        if (toast instanceof RootSiblings) {
            toast.destroy();
        }
    };
}
複製代碼
相關文章
相關標籤/搜索