React Native [ 變數 ] 介紹

變數在React Native裡有基本三個表現方式
相較於一般我們在網頁裡任意 更加嚴謹許多


var a = 1;
a = 2 ;




//例子1
const a1 = 0 ; //常數宣告,不可重覆指定



//例子2
let a1 = 0 ; //可重覆指定



//例子3
global.a1 = 0 ; //全域變數,故名只要引用進來的JS都可以享受到此變數



//例子4
export default class App extends Component {
   
     constructor(props){
       super(props);
       this.state = { a1 : 2 };
       this.setState = ({ a1 : 3 });
     }


     test1(){
       this.setState ({ a1 : 4 });
       console.log( this.setState.a1 ); //4
       console.log( this.state.a1); //2
     }

     render(){
       return (
         { this.test1() }

       )
    }

}
react native 設定變數 還有另一種形式
它是屬於組件內自己的內部的變數定義與給定值
這裡可以觀察到 在建構子 
做 this.state 設定 a1 給與值2 
this.setState 設定 a1 給與值3 
之後在 test1()呼叫後
嘗試重新給與  this.setState a1 值 4 



//例子5
const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' +
    'Cmd+D or shake for dev menu',
  android: 'Double tap R on our keyboard to reload,\n' +
    'Shake or press menu buttyon for dev menu',
});

let ab = 0;
let a1 = 1;
let t2 = 0;
global.a88 = 36;

export default class App extends React.Component {



  constructor(props) {
    super(props);
    //onsole.log(a89);
    //{ setTimeout(function(){navigate("abc")}, 1000); }
    this.setState = ({  a7: 2 });
    setTimeout(function(){this.setState = ({ a7 : 3 });console.log(this.setState.a7)}, 1000); 
  }

針對變數的宣告擺放在JS裡位置
我們這裡再給出更多例子
同一般傳統JS概念,一樣也可以在任何位置擺放變數



//例子6

export default class App extends React.Component {

  constructor(props) {
    super(props);
  }

}

let ab = 0;
let a1 = 1;
let t2 = 0;
global.a88 = 36;

變數設定在預設主架構前後
呼叫時不受影響
推測編譯時跟傳統JS一樣,會先由外而內
將變數設定完,才去跑主架構



//例子7


let ab = 0;
let a1 = 1;
let t2 = 0;
global.a88 = 36;


function a8(){
  let a1 = 39;
  return a1;
}

export default class App extends React.Component {

  constructor(props) {
    super(props);
  }
  
  testf01(){ 
    let a1 = 12;
    return a1;
  }
 
}

以上例子表達
如傳統我們認知的JS一般
變數擺在函式外
同一隻JS旗下所有函數都可以共享使用
而擺在函式fun內當然只能內部自己使用


//App.js
global.a88 = 36;

//src/abc.js
function a02(){

  return global.a88 ;
}

全域變數的廣播
被引用進來的JS都可以享受到 全域global變數
其他要帶入非全域global變數
跟一般JS概念一樣
fun傳入值做設定


沒有留言:

張貼留言