±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcnblogs£¬ÎÄÕÂÖ÷ÒªÒÔÒ»¸öʵÀýΪÈë¿Ú½éÉÜÁË´Ó»·¾³´î½¨µ½ÏîÄ¿ÔËÐеÄÍêÕû¹ý³Ì¡£ |
|
ǰÑÔ
ºÜ¾Ã֮ǰ¾ÍÏëÑо¿React NativeÁË£¬µ«ÊÇһֱûÓÐÂ䵨µÄ»ú»á£¬ÎÒÒ»Ö±ÈÏΪһ¸ö¼¼ÊõÒªÓÐÂ䵨µÄ³¡¾°²ÅÓÐÑо¿µÄÒâÒ壬¸ÕºÃ×î½üÓÀ´ÁËеÄAPP£¬Ôڿɿصķ¶Î§ÄÚ£¬ÎÒÃÇ¿ÉÒÔÔÚÉÏÃæ×öÈκÎÏë×öµÄÊÂÇé¡£
PS£ºÈκÎм¼ÊõµÄ³¢Ïʶ¼Ò»¶¨Òª¿ØÖÆÔÚ×Ô¼ºÄÜ¿ØÖƵķ¶Î§ÄÚ£¬Ê§°ÜÁË»áÓпÉÌæ»»·½°¸£¬²»ÒªÒýÆð²»¿ÉÄæµÄÎÊÌ⣬ÕâÑù»á¸øÍŶÓÔì³ÉÔÖÄÑÐԵĺó¹û¡£
ÊÂʵÉÏ£¬RN¾¹ýÒ»¶Îʱ¼ä·¢Õ¹£¬ÒѾÓгä·ÖÊýÁ¿µÄÈ˳¢ÊÔ¹ýÁË£¬¾ÍÎÒÉí±ß¾ÍÓм¸Åú£¬°ý±áÒ²²»Ò»£º
¢Ù ×öUI¿ì
¢Ú »¹ÊÇÓкܶàÏÞÖÆ£¬²»ÈçÔÉúNative
¢Û ÈëÃżòµ¥£¬ÄÜÈÃǰ¶Ë¿ìËÙ¿ª·¢App
¢Ü iOS&Android´ó²¿·Ö´úÂëͨÓÃ
¢Ý code-pushÄÜ×öÈȸüУ¬µ«ÊÇÓò»ºÃÒÀ¾É¿Ó
......
Ôڵõ½Ò»Ð©ÐÅÏ¢ºó£¬¿ÉÒÔ¿´³ö£¬ÒªÓÃRN¸ßЧÂʵÄ×ö³ö±È½Ï²»´íµÄAppÊÇÓпÉÄܵ쬵¥¿´Í¶Èë¶ÈÓë×î³õÉè¼ÆÊÇ·ñºÏÀí£¬¶øÇÒÏÖÔÚ¹ØÓÚReact
NativeµÄ¸÷ÖÖÎĵµÊÇÏ൱·á¸»µÄ£¬ËùÒÔÕâ¸ö½×¶ÎÏëÇÐÈëRN¿ÉÄÜÊÇÒ»¸ö²»´íµÄÑ¡Ôñ¡£
´ø×ÅÊÔÊÔ²»³Ô¿÷µÄÏë·¨£¬ÎÒÃÇ¿ªÊ¼½ñÌìµÄѧϰ£¬ÕâÀïÊÇһЩ±È½ÏÓÅÖʵÄѧϰ×ÊÁÏ£º
https://github.com/reactnativecn/react-native-guide
×¼±¸½×¶Î
´î½¨¿ª·¢»·¾³
http://reactnative.cn/docs/0.36/getting-started.html
¹Ù·½µÄÀý×ÓÆäʵдµÄºÜºÃÁË£¬ÎÒÕÕ׏ٷ½µÄÀý×ÓÄܺܺõÄÅÜÆðÀ´£¬´ó¼Ò×Ô¼ºÈ¥¿´¿´°É
ÕâÀïÔÚÔËÐÐʱºòҪעÒâһϣ¬ÎÒÒòΪ¿ªÆôÁËFQ¹¤¾ß£¬Ò»ÔËÐоÍcrash£¬ÕâÀï²Â²âÊÇ·£¨***·¨£©Ç½¹¤¾ß¶ÔlocalhostÔì³ÉÁËÓ°Ï죬µ¼Ö²»ÄܶÁÈ¡Îļþ£¬Õâ¸ö¿ÉÄÜÉæ¼°µ½RNµ×²ãʵÏÖ£¬ÎÒÃǺóÃæÉîÈëÁËÔÙÈ¥×öÑо¿£¬ÕâÀï¹Ø±ÕFQ¹¤¾ß¼´¿É¡£
È»ºóµÚ¶þ¸öÎÊÌ⣬ÊÇhttpµÄͼƬչʾ²»³öÀ´£¬ÕâÀïÕÛÌÚÁ˺ܾã¬È´·¢ÏÖºóÃæµÄÕ½ÚÓÐÁË˵Ã÷£¬appĬÈÏÖ»Ö§³ÖhttpsµÄÁ´½Ó£¬ÕâÀï´ó¼Ò¸ÄÏÂÅäÖü´¿É
RNÖеÄjsʹÓõÄÊDZȽÏеÄÓï·¨£¬ÕâÀïÒ²ÐèÒª´ó¼Ò½øÐÐѧϰ£¬ÎÒѧϰµÄ¸ÐÊÜÊÇES6ÌṩÁ˺ܶàÓï·¨ÌÇ£¬µ«ÊÇÓм¸¸ö¶«Î÷ҲҪעÒâ¡£
Class
JavaScript֮ǰµÄ¼Ì³ÐÈ«²¿ÊǸ´Ð´ÔÐÍÁ´Ä£ÄâʵÏֵģ¬×÷Ϊ´óÐÍÓ¦Óÿò¼Ü£¬¼Ì³ÐÊDZز»¿ÉÉٵģ¬ËùÒÔES6Ö±½Ó½«Õâ¿éAPI»¯ÁË£¬ÎÒÕâÀïдһ¸ö¼òµ¥µÄdemo£º
class Animal
{
constructor(name) {
this.name = name;
}
say() {
console.log('ÎÒÊÇ' + this.name);
}
}
class Person extends Animal {
say() {
console.log('ÎÒÊÇÈËÀà');
super.say();
}
}
var p = new Person('ҶСîÎ')
p.say(); |
/*
ÎÒÊÇÈËÀà
ÎÒÊÇҶСîÎ
*/ |
Module
ÎÒÃÇÒ»°ãʹÓÃrequireJS½â¾öÄ£¿é»¯µÄÎÊÌ⣬ÔÚES6ÀïÃæÌá³öÁËModule¹¦ÄÜÔÚ¹Ù·½½â¾öÁËÄ£¿é»¯µÄÎÊÌ⣬ÕâÀïÓÅȱµã²»ÊÇÎÒÃÇ¿¼ÂǵÄÖØµã£¬¼òµ¥Á˽âÏÂÓï·¨£¬Á½¸öºËÐÄΪ£º
¢Ù export
¢Ú import
ES6ÒÔÒ»¸öÎļþΪµ¥Î»£¬Ò»¸öÎļþ¿ÉÒÔ¶à¸öÊä³ö£¬ÕâÀïÒÔRNµÄÒ»¸öÒýÓÃΪÀý£º
import React,
{ Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
import styles from './static/style/styles.js'; |
¿ÉÒÔ¼ÙÏ룬ÕâÀïÒ»¶¨»áÓÐÒ»¸öreactÎļþ£¬²¢ÇÒÀïÃæ¿ÉÄÜÊÇÕâ¸öÑùʽµÄ£º
export default class React......
expoet class Component ......
PS£ºÒ»¸öÎļþÖ»ÄÜÓÐÒ»¸ödefault
Êä³öµÄdefaultÒ»¶¨»á³öÏÖ£¬²»Ê¹ÓôóÀ¨ºÅ°ü¹ü£¬ÆäÓಿ·ÖËæÒâÊä³ö£¬ÕâÀïÓëÎÒÃÇʹÓÃrequire»òÓв»Í¬£¬ÐèҪעÒâ¡£
Ó¦¸Ã˵ES6ÌṩÁ˺ܶàÓï·¨ÌÇ£¬ÓÐÈËϲ»¶£¬ÓÐÈ˲»Ï²»¶£¬Õâ¸ö¿´°®ºÃʹÓðɣ¬±ÈÈç=>¼ýÍ·º¯Êý¡£Á˽âÁËÒÔÉϹØÏµ£¬ÔÙÅäºÏES6µÄһЩÎĵµ£¬»ù±¾¿ÉÒÔдRNµÄ´úÂëÁË¡£
³ÇÊÐÁбí
²ð·ÖĿ¼
ÕâÀÎÒÃÇ×öÒ»¸ö³ÇÊÐÁÐ±í£¬ÕæÊµµÄ·ÃÎʽӿڻñÈ¡Êý¾Ý£¬È»ºóäÖÈ¾Ò³Ãæ£¬¿´¿´×ö³öÀ´Ð§¹ûÈçºÎ¡£
Ê×ÏÈ£¬ÎÒÃdzõʼ»¯Ò»¸öRNÏîÄ¿£º
react-native init Citylist
È»ºóʹÓÃXcode´ò¿ªiOSÖеÄÏîÄ¿£¬±àÒëÔËÐУº
import React,
{ Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
export default class Citylist extends Component
{
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit index.ios.js
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload,{'\n'}
Cmd+D or shake for dev menu
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
AppRegistry.registerComponent('Citylist', ()
=> Citylist); |


ÕâÀï³ýÁËindex.io.js£¬ÆäËûÎļþÎÒÃDz»±ØÀí²Ç£¬ÎÒÃÇ×öµÄµÚÒ»¼þÊÂÇéÊÇ£¬½«ÑùʽÎļþ°þÀë³öÈ¥£¬Ð½¨staticÎļþ¼Ð£¬¼ÓÈëimagesºÍstyle£¬½«ÑùʽÎļþÒÆÈëstyleÎļþ£¬Ð½¨style.js£º
import {
StyleSheet
} from 'react-native';
export let styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
}); |
È»ºóÊ×Ò³´úÂëÔÙ×öһЩ¸Ä¶¯£º
import React,
{ Component } from 'react';
import {
AppRegistry,
Text,
View
} from 'react-native';
import {styles} from './static/style/style';
export default class Citylist extends Component
{
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit index.ios.js
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload,{'\n'}
Cmd+D or shake for dev menu
</Text>
</View>
);
}
}
AppRegistry.registerComponent('Citylist', ()
=> Citylist); |
PS£ºÕâÀïÓÐÒ»¸ö¼ýÍ·º¯Êý
() => Citylist
//===>
function () {
return Citylist;
} |
¾²Ì¬×ÊÔ´°þÀëºó£¬ÎÒÃÇÏȲ»´¦ÀíÆäËüµÄ£¬ÎÒÃÇÀ´×öÊý¾ÝÇëÇó¡£
Êý¾ÝÇëÇó
RNËäÈ»ÄÚÖÃÁËajax¿â£¬µ«ÊÇÒ»°ãÍÆ¼öʹÓÃRN×Ô´øµÄFetch£¬×î¼òµ¥µÄʹÓÃÊÇ£º
fetch('https://mywebsite.com/mydata.json')
PS£ºÎÒÃÇÔÚѧϰRNµÄʱºò£¬Ò²ÊÇÔÚѧϰÉñÂí·½Ê½ÊÇÊʺϵ쬻òÕß˵ÊìϤʹÓúÏÊʵÄ×é¼þ
ÇëÇóÒ»¸ö½Ó¿ÚÊÇÕâÑùдµÄ£¨Ê¹ÓÃpromise£©£º
fetch('https://apikuai.baidu.com/city/getstartcitys')
.then((response) => response.json())
.then((jsonData) => {
console.log(jsonData);
})
.catch((e) => {
console.log(e)
}) |
ÕâÀï´ò¿ªµ÷ÊÔ»·¾³Ò»¿´£¬Êä³öÁËÎÒÃÇÒªµÄÊý¾Ý£º

Ò»°ãÀ´Ëµ£¬ÎÒÃÇÐèÒª¶ÔÊý¾ÝÇëÇóÓ¦¸Ã·âװΪһ¸öµ×²ã¿â£¬ÕâÀïÖ»×öһЩ¼òµ¥¸ÄÔì£¬ÕæÊµÏîÄ¿²»»áÕâÑù×ö£º
export default
class Citylist extends Component {
getdata(url, suc, err) {
return fetch(url)
.then((response) => response.json())
.then((data) => {
if(data.errno == 0) {
suc && suc(data.data)
}
})
.catch((e) => {
console.log(e)
});
}
render() {
this.getdata('https://apikuai.baidu.com /city/getstartcitys',
function(data) {
s = ''
});
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native!
</Text>
<Text style={styles.instructions}>
To get started, edit index.ios.js
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload,{'\n'}
Cmd+D or shake for dev menu
</Text>
</View>
);
}
} |
PS£ºÕâÀïµÄʹÓò»Ò»¶¨ÕýÈ·£¬ÏÈÍê³É¹¦ÄÜÔٸĽø°É
ÎÒÃÇÈ¡ËùÓеijÇÊÐcities£¬Õâ¸öÊý¾ÝÁ¿ºÜ´ó£¬ÓÐ1000¶àÌõ¼Ç¼£¬Ò²¿ÉÒÔ²âÊÔÏÂÍ϶¯Ð§ÂÊÁË£¬ÕâÀïΪÀà¼ÓÈë¹¹Ô캯Êý£¬ÒòΪÁбíÊǿɱäµÄ£¬ÔÝʱ°ÑÁбíÊý¾Ý¹éΪstate£¨reactÒ²²»ÊÇÌ«Ê죬Èç¹ûÓÐÎÊÌâºóÐøÓÅ»¯£¬ÏÈÍê³É¹¦ÄÜ£©£º
constructor(props)
{
super(props);
this.state = {
cities: []
};
} |
var scope =
this;
//±¾À´ÏëʹÓüýÍ·º¯ÊýµÄ£¬µ«ÊÇÁ˽ⲻ̫Çå³þ£¬ demoʱºòÔÝʱÕâÑù°É
this.getdata('https://apikuai.baidu.com /city/getstartcitys',
function(data) {
scope.state.citys = data.cities;
}); |
ÁбíäÖȾ
´¦ÀíÁËÊý¾ÝÎÊÌâºó£¬ÎÒÃÇ¿ªÊ¼×öÁбíäÖȾ£¬ÕâÀïʹÓÃListView×é¼þ£¬Õâ¸ö×é¼þÓÃÒÔÏÔʾһ¸ö´¹Ö±¹ö¶¯ÁÐ±í£¬Êʺϳ¤ÁÐ±í£¬Á½¸ö±ØÐëµÄÊôÐÔÊÇdatasourceºÍrenderRow£º
dataSource£ºÁбíÊý¾ÝÔ´
renderRow£ºÖð¸ö½âÎöÊý¾ÝÔ´ÖеÄÊý¾Ý£¬È»ºó·µ»ØÒ»¸öÉ趨ºÃµÄ¸ñʽÀ´äÖȾ
¼òµ¥Êéд´úÂ룺
export default
class Citylist extends Component {
constructor(props) {
super(props);
this.ds = new ListView.DataSource ({rowHasChanged:
(r1, r2) => r1 !== r2});
this.state = {
cities: this.ds.cloneWithRows([
{cnname
:
"ÎÄɽ׳×åÃç×å×ÔÖÎÖÝ",
enname
:
"wszzmzzzz",
extflag
:
"1",
flag
:
"0",
name
:
"wenshanzhuangzumiaozuzizhizhou",
parentid
:
"28",
regionid
:
"177",
shortname
:
"ÎÄɽ",
shownname
:
"ÎÄɽ",
type
:
"2"},{cnname
:
"ÎÄɽ׳×åÃç×å×ÔÖÎÖÝ",
enname
:
"wszzmzzzz",
extflag
:
"1",
flag
:
"0",
name
:
"wenshanzhuangzumiaozuzizhizhou",
parentid
:
"28",
regionid
:
"177",
shortname
:
"ÎÄɽ",
shownname
:
"ÎÄɽ",
type
:
"2"},{cnname
:
"ÎÄɽ׳×åÃç×å×ÔÖÎÖÝ",
enname
:
"wszzmzzzz",
extflag
:
"1",
flag
:
"0",
name
:
"wenshanzhuangzumiaozuzizhizhou",
parentid
:
"28",
regionid
:
"177",
shortname
:
"ÎÄɽ",
shownname
:
"ÎÄɽ",
type
:
"2"}
])
};
}
getdata(url, suc, err) {
return fetch(url)
.then((response) => response.json())
.then((data) => {
if(data.errno == 0) {
suc && suc(data.data)
}
})
.catch((e) => {
console.log(e)
});
}
componentDidMount(){
var scope = this;
this.getdata('https://apikuai.baidu.com /city/getstartcitys',
function(data) {
console.log(data)
scope.setState({
cities: scope.ds.cloneWithRows(data.cities)
});
//scope.state.citys = data.cities;
//this.getdata('https://apikuai.baidu.com /city/getstartcitys',
(data) => {
// this.state.citys = data.cities;
//});
});
}
render() {
return (
<View style={styles.container}>
<ListView
dataSource={this.state.cities}
renderRow={(rowData) => <Text> {rowData.cnname}</Text>}
/>
</View>
);
}
} |

È»ºó¾ÍÕâÑùÁË£¬ËäÈ»³óÊdzóµã£¬µ«ÊÇ»¹ÄÜ¿´ÂÕâÀïÎÒÃÇÏȲ»È¥Àí²Ç³ÇÊеÄÅÅÐò£¬Ò²²»×öËÑË÷¹¦ÄÜ£¬ÎÒÃÇÏȰѲ¼¾Ö´¦ÀíÏ£¬ËûµÄ³óªÎÒÒѾÊܲ»ÁËÁË
Ñùʽ´¦Àí
ÏÖÔÚÎÒÃÇ¿ªÊ¼´¦ÀíÕâ¶ÎÑùʽ£º
import React,
{ Component } from 'react';
import {
AppRegistry,
ListView,
Text,
View
} from 'react-native';
import {styles} from './static/style/style';
export default class Citylist extends Component
{
constructor(props) {
super(props);
this.ds = new ListView.DataSource ({rowHasChanged:
(r1, r2) => r1 !== r2});
this.state = {
cities: this.ds.cloneWithRows([])
};
}
getdata(url, suc, err) {
return fetch(url)
.then((response) => response.json())
.then((data) => {
if(data.errno == 0) {
suc && suc(data.data)
}
})
.catch((e) => {
console.log(e)
});
}
componentDidMount(){
var scope = this;
this.getdata('https://apikuai.baidu.com /city/getstartcitys',
function(data) {
console.log(data)
scope.setState({
cities: scope.ds.cloneWithRows(data.cities)
});
//scope.state.citys = data.cities;
//this.getdata('https://apikuai.baidu.com /city/getstartcitys',
(data) => {
// this.state.citys = data.cities;
//});
});
}
render() {
return (
<View style={styles.container}>
<ListView style={styles.listView} enableEmptySections={true}
dataSource={this.state.cities}
renderRow={(rowData) =>
<View style={styles.listItem} >
<Text>{rowData.cnname}</Text>
</View>
}
/>
</View>
);
}
}
AppRegistry.registerComponent ('Citylist', ()
=> Citylist); |
import {
StyleSheet
} from 'react-native';
export let styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#F5FCFF',
},
listView: {
marginTop: 30,
flex: 1,
borderBottomColor:'#CCCCCC',//cellµÄ·Ö¸îÏß
borderBottomWidth:1
},
listItem: {
paddingTop: 15,
paddingBottom: 15,
paddingLeft: 10,
flexDirection:'row',
borderBottomColor:'#CCCCCC',//cellµÄ·Ö¸îÏß
borderBottomWidth:1
}
}); |

ʼþ°ó¶¨
È»ºó£¬ÎÒÃÇÔÙΪÿÐÐÊý¾Ý¼ÓÉϵã»÷ʼþ£¬ÕâÀïÒ²×ö¼òµ¥Ò»µã£¬´òÓ¡³öµ±Ç°ÐеÄÖµ¼´¿É£º
onPressAction(data){
alert(data.cnname)
}
render() {
return ( <View style={styles.container}>
<ListView style={styles.listView} enableEmptySections={true}
dataSource={this.state.cities}
renderRow={(rowData) => <View style={styles.listItem}
> <Text onPress={() = > this.onPressAction(rowData)}> {rowData.cnname}</Text>
</View>
}
/> </View>
);
} |

PS£ºÎÒÄáÂ꣬Õâ¸öRNµÄѧϰ£¬ºÜ´ó³Ì¶È¾ÍÊÇÒ»¸ö¸öAPI»òÕß×é¼þµÄÊìϤ£¬Õâ¿é²»ÊìϤµÄ»°£¬×öÆðÀ´ÄÕ»ðµÄºÜ
ÎÒÕâÀ↑ʼÏë¸øTextÉèÖñ߿ò£¬Ôõô¶¼²»Äܳɹ¦£¬ºóÃæ¾Í¼ÓÁËÒ»²ãView¾ÍºÃÁË£¬ÕâÖÖСϸ½ÚÐèÒª¶àÃþË÷£¬Õâ¸öÊÇ×îÖյĽṹ£º

½áÓï
×÷Ϊһ¸ödemoµÄ»°£¬Õâ¸öÀý×Ó»ù±¾¿ÉÒÔ˵Ã÷һЩÎÊÌâµÄ£¬ËäÈ»ÎÒ±¾ÒâÊÇÏë×ö³ÉÕâ¸öÑù×ӵģº£©

ͨ¹ýÕâ¸öÀý×Ó£¬ÎÒÃǼòµ¥µÄѧϰÁËÏÂRNµÄ¿ª·¢Ä£Ê½£¬×ö³öÀ´µÄ¸ÐÊÜÊÇFacebookºÜÇ¿´ó£¬×öÁËÒ»¸öÌåϵÐԵĶ«Î÷£¬¾Ù¸öÀý×ÓÀ´Ëµ£¨¸öÈ˸ÐÊÜ£©
֮ǰÎÒÃÇ×öHybridµÄʱºòHeaderÊÇNativeÌṩµÄ£¬´ó¸Å×ö·¨ÊÇÕâÑùµÄ£º
//NativeÒÔ¼°Ç°¶Ë¿ò¼Ü»á¶ÔÌØÊâtagnameµÄ±êʶ×öĬÈϻص÷£¬Èç¹ûδע²ácallback£¬»òÕßµã»÷»Øµ÷callbackÎÞ·µ»ØÔòÖ´ÐÐĬÈÏ·½·¨
//backǰ¶ËĬÈÏÖ´ÐÐHistory.back£¬Èç¹û²»¿ÉºóÍËÔò»Øµ½Ö¸¶¨URL£¬NativeÈç¹û¼ì²âµ½²»¿ÉºóÍËÔò·µ»ØNaive´óÊ×Ò³
//homeǰ¶ËĬÈÏ·µ»ØÖ¸¶¨URL£¬NativeĬÈÏ·µ»Ø´óÊ×Ò³
this.header.set({
left: [
{
//Èç¹û³öÏÖvalue×ֶΣ¬ÔòĬÈϲ»Ê¹ÓÃicon
tagname: 'back',
value: '»ØÍË',
//Èç¹ûÉèÖÃÁËlefticon»òÕßrighticon£¬ÔòÏÔʾicon
//native»áÌṩ³£ÓÃͼ±êiconÓ³É䣬Èç¹ûÕÒ²»µ½£¬±ã»áÈ¥µ±Ç°ÒµÎñƵµÀרÓÃĿ¼»ñȡͼ±ê
lefticon: 'back',
callback: function () { }
}
],
right: [
{
//ĬÈÏiconΪtagname£¬ÕâÀïΪicon
tagname: 'search',
callback: function () { }
},
//×Ô¶¨Òåͼ±ê
{
tagname: 'me',
//»áÈ¥hotelƵµÀ´æ´¢¾²Ì¬headerͼ±ê×ÊԴĿ¼ËÑѰ¸Ãͼ±ê£¬Ã»ÓбãʹÓÃĬÈÏͼ±ê
icon: 'hotel/me.png',
callback: function () { }
}
],
title: 'title',
//ÏÔʾÖ÷±êÌ⣬×Ó±êÌâµÄ³¡¾°
title: ['title', 'subtitle'],
//¶¨ÖÆ»¯title
title: {
value: 'title',
//±êÌâÓÒ±ßͼ±ê
righticon: 'down', //Ò²¿ÉÒÔÉèÖÃlefticon
//±êÌâÀàÐÍ£¬Ä¬ÈÏΪ¿Õ£¬ÉèÖõϰÐèÒªÌØÊâ´¦Àí
//type: 'tabs',
//µã»÷±êÌâʱµÄ»Øµ÷£¬Ä¬ÈÏΪ¿Õ
callback: function () { }
}
}); |
ͨ¹ýÕâ¸öÔ¼¶¨£¬ÎÒÃǵÄNative¾Í»áÉú³ÉһϵÁÐheaderUI£º

¶øRN×öÁËÊ²Ã´ÄØ£¬Ëû¿ÉÄÜÊÇʵÏÖÁËÒ»¸öÕâÑùµÄ±êÇ©£¨»òÕß˵ÊÇÓï·¨ÌÇ£©£º
<Header title=""
right="[]" ></Header> |
È»ºóRN»á×Ô¼ºÈ¥½âÎöÕâ¸ö±êÇ©£¬Éú³ÉÉÏÊöµÄ¶ÔÏó£¬È»ºóÉú³ÉNativeµÄUI£¬Õâ¸öÎÒÃÇÆäʵҲÄÜ×öµ½£¬µ«ÊÇÎÒÃÇÒ»¸öÄÜ×öµ½£¬10¸ö¾Í²»Ò»¶¨×öµÃµ½ÁË£¬RNÅ£µÄµØ·½¾ÍÅ£ÔÚËûÌṩÁËÕâô´óÒ»Ûç¶«Î÷£º

È»ºó»¹ÓÐËûÒ»ÕûÌ×µÄÑùʽÌåϵ£¬·Ç³£Ö®´óÊֱʣ¬¶øÍ¨¹ýRNµÄÍêÉÆÔ¼¶¨£¬Éú³ÉÁËÒ»Ì×NativeUI£¬Ó¦¸Ã˵À´ÌåÑéÊǷdz£¸ßµÄ£¬¿ª·¢Ð§ÂÊÒòΪ¿ÉÒÔ×öµ½´ó²¿·ÖiOS
AndroidͨÓã¬ËäÈ»ÕûÌ忪·¢Ð§ÂÊÎÞ·¨ÓëHybrid±È¼ç£¬µ«¾ø¶ÔÓÐÆäÓ¦Óó¡¾°¡£
ÎÒÃÇÒ²ÓÐһЩͬÊÂ˵ÁËһЩRNµÄÎÊÌ⣬µ«ÊÇ¿ò¼ÜÔÚ·¢Õ¹£¬ÈÝÆ÷ÔÚÓÅ»¯£¬ÕâЩÎÊÌâÔÚij¸öʱ¼äµãÓ¦¸ÃÄܽâ¾öµÄ£¬×ܵÄ˵À´£¬RN»¹ÊǺÜÓÐѧϰµÄ¼ÛÖµ£¬ºóÃæÎÒ¿ÉÄܻỨºÜ¶à¹¦·òÈ¥½øÐÐÂ䵨£¡£¡£¡ |