從大三開始我們學(xué)習(xí)了react-native凉倚,我覺得這個東西非常有意思,因為各種報錯嫂沉,不知不覺中就走入了一個大坑稽寒,這個坑還填不滿,因為這個報錯真的搞不懂趟章,按照過程來杏糙,也會錯,但是多運行幾次又好了蚓土,真的搞不懂宏侍,軟件不能向Java一樣可以準確報錯,錯誤在哪里北戏,我們沒有原生開發(fā)經(jīng)驗更沒有做過原生app负芋,大一學(xué)習(xí)的JavaScript學(xué)一點點基礎(chǔ)就開始這個react語法,這樣子不但我沒有學(xué)到任何的東西嗜愈,想學(xué)點東西就要從csdn上面看旧蛾,但是上面看有一個弊端就是:上面能得到代碼,但是有一些知識我們不知道蠕嫁,這樣就形成斷層锨天,這樣很容易讓人放棄這個課程,我們?nèi)绻獙W(xué)習(xí)這個課程剃毒,我覺得我們應(yīng)該大二再學(xué)習(xí)一門專門關(guān)于JavaScript和react語法病袄,深入研究一下,有點基礎(chǔ)再學(xué)習(xí)這個react-native赘阀,這樣學(xué)習(xí)就是完成教學(xué)任務(wù)而去學(xué)習(xí)益缠,有自學(xué)能力強的學(xué)生學(xué)習(xí)可能看看就能好了,但是對于絕大多數(shù)的學(xué)生來說這樣很痛苦基公,只是為了學(xué)分去學(xué)習(xí)幅慌,就算最后熟練了,也只是懂一點點皮毛轰豆。有時候我真的不知道為啥報錯胰伍,就比如這個
我在學(xué)習(xí)中主要遇到的問題有:
[if !supportLists]1.?[endif]忘記修改ip齿诞,這個問是前期很容易遇到的,但是后面做的多了骂租,問題也就解決了祷杈,運行前先改ip地址
[if !supportLists]2.?[endif]忘記修改index的路徑,這個問題后期也注意了渗饮,沒有遇到類似的問題但汞,運行之前會認真的看一遍路徑
[if !supportLists]3.?[endif]寫js的時候會不區(qū)分大小寫,沒注意符號有時候是中文符號
[if !supportLists]4.?[endif]adb沒有連接導(dǎo)致程序崩潰
[if !supportLists]5.?[endif]運行cmd忘了一個步驟
調(diào)試方法
斷點調(diào)試法抽米,如果代碼錯誤特占,先保存代碼然后糙置,注釋掉一部分然后測試哪一步錯了云茸,知道找到錯誤為止
第一步:安裝組件
yarn add react-navigation ?
or
npm install --save react-navigation
第二步:然后你就可以快速創(chuàng)建一個有兩個頁面(Main和Profile)的應(yīng)用了:
/**
?* Sample React Native App
?* https://github.com/facebook/react-native
?* @flow
?*/
import React, {Component} from 'react';
import {
????AppRegistry,
????StyleSheet,
} from 'react-native';
import {StackNavigator,} from 'react-navigation';
import Welcome from './transfer/Welcome';
import Profile from './transfer/Profile';
export default class RNStudy extends Component {
????constructor(props) {
????????super(props);
????}
????componentDidMount() {
????}
????render() {
????????return (
????????????<ModalStack/>
????????);
????}
}
const ModalStack = StackNavigator(
????{
Welcome: { screen: Welcome },//這樣是默認打開首頁
????????Profile: { screen: Profile },
????},
????{
????????navigationOptions: {
headerBackTitle: "首頁",
????????????headerTintColor: '#000000',
????????????header:null,
????????????showIcon: true,
????????????swipeEnabled: true,
????????????animationEnabled: true,
????????},
????????mode: 'card',
????},
);
AppRegistry.registerComponent('RNStudy', () => RNStudy);
第三步、Profile界面
this.props.navigation.goBack(null) //拿到navigation對象可以進行回退谤饭,跳轉(zhuǎn);
????????DeviceEventEmitter.emit("request");
????????//this.props.navigation.navigate('TabPage', {name: ' Profile Page'});
$?