React Native:开发iOS 2

Nativeอจากตอนที่แล้วReact Native:iOS开发人员ตอนที่1ขอเริ่มเกริ่ริ่นพื้นฐานอีกนิดหน่อยถ้าอ่านแล้วยังไม่เข้าใจก็อย่าเพิ่งตกใจ

พื้นฐาน

งอมูลสองประเภทที่ใช้ในการควบคุมการทำงานของ组件-道具状态

道具ถูกกำหนและคงที่ไปตลาโดย父และคงที่ไปตลอด终身ของ组件เลยในขณะที่状态คือข้อมูลที่เปลี่ยนแปลงได้

คื คืcreation创建参数ซึ่งสมมมีมมๆกำลังจะถูกสที่ั้ั้creation creation creation

 这个道具。  myCreationParameter 

React Native组件พื้นฐานที่ชื่อว่าImageซึ่งมีตัวแปรpropsชื่อ’source’ สำหรับกำหนดรูปที่จะแสดง

  render(){ 
让pic = {
uri:“ https://url_to_image/test_image.jpg”
};
返回(
<Image source = {pic} style = {{width:193,height:110}}} />
);
}

注意—括号{}ในการ嵌入ตัวแปรเข้าไปในJSXและภายใต้{}เราสามารถใส่JavaScript表达式เข้าไปได้

นอกจากนี้เรายังสามารถใช้道具ในcomponentที่สร้างขึ้นมาเองได้ตัวอย่างเช่น

  问候类扩展了组件{ 
render(){
返回(
您好{ this.props.name }!
);
}
}

สนได้ว่าคลาส问候มีการเรียกใช้道具ที่ชื่อ name ส่วนโค้ดด้านล่างเป็นงเป็ากรเรียกใช้คลาส问候สร้อมกำหนดค่าของตัวแปร道具’name’

  class OtherClass扩展Component { 
render(){
返回(




);
}
}

ทั่วไปยทั่วไป状态จะถูก初始化ใน构造函数ยกตัวอย่างเช่น

 构造函数(道具){ 
超级(道具);
这个。 状态 = { myStateVariable :true};
}

setยนค่าและเปลี่อต้องการโดยใช้ฟังก์ชันsetStateเช่น

 这个。  setState ({ myStateVariable:false }) 

风格

React Nativeใช้JavaScriptในการกำหนดรูปแบบ

核心组件ทั้งหมดมีการใช้prop’style โดยที่ 名称值value 样式样式 CSS 样式样式样式样式样式样式样式样式样式样式样式样式样式

prop’style 普通旧JavaScript对象หรือว่าจะเป็น数组ของstylesับแต่สำหรับcomponentใหญ่ที่ซับซ้อนมีวิธีที่cleanกว่าก็คือการเขีนนstyleไว้ในที่เดียวกันโดยการใช้StyleSheet.create

 类LotsOfStyles扩展了Component { 
render(){
返回(

只是红色
先是蓝色,然后是红色

);
}
}
  const styles = StyleSheet.create ({ 
大蓝色: {
颜色:“蓝色”,
fontSize:30,
},
红色:{
红色',
},
});

八和宽

mentารกำหนด尺寸ขอข组件แบ่งได้เป็น2ลักษณะ—固定Flex Flex

固定:เป็นการกำหนดค่าคงที่ไปเลยการแสดงdimentionในReactนั้นไม่มีunit(Unitless)วิธีนี้เหมาะสำหรับการแสดง组件ที่มีขนาดเท่าเดิมโดยไม่ขึ้นกับขนาดของหน้าจอยกตัวอย่างเช่น

  <View style = {{ width :50, height :50,backgroundColor:'blue'}} /> 
<View style = {{ width :150, height :150,backgroundColor:'red'}} />

Flex:เป็นการแสดงผลที่มีการขยายการหดของ组件โดยขึ้นกับพื้นที่ที่ว่างอยูและ组件parent

ยกตัวอย่างเช่นจากโค้ดด้านล่างViewสีแดงมีขนาดเป็น1ส่วนเมื่อเทียบกันกับViewสีฟ้าซึ่งมีขนาดเป็น3ส่วน

   
<View style = {{ flex :1,backgroundColor:'red'}} />
<View style = {{ flex :3,backgroundColor:'skyblue'}} />

放映Flexbox

布局布局子组件组件Flexbox算法样式3布局flexDirection,alignItems, justifyContent

Flexbox布局布局CSS CSS布局布局布局布局默认CSS布局

弯曲方向

Flex Directionคือแกนหลัก(主轴)งอง布局สามารถกำหนดให้เป็นแนวนอน(水平)หรือว่าแนวตั้ง(垂直)ก็ได้า默认เป็นแนวตั้ง

  <视图样式= {{flex:1, flexDirection :'row'}}> 



证明内容合理

证明内容的合法性(分发),子级子组件ในแนวแกนหลัก(主轴)

  <查看样式= {{ 
弹性:1,
flexDirection:'列',
justifyContent :'space-between',
}}>
   

   

对齐项目

对齐项คือ对齐ของ子ตามแกนรอง(次级轴)

滚动视图VS列表视图

Scrollอแตกต่างของ滚动视图กับ列表视图ก็คือ列表视图จะrenderเฉพาะสิ่งที่อยู่ในบนหน้น้าจอเท่านั้นScrollรับScroll Viewนั้นทุกอย่างจะถูกrenderทั้งหมด

Listา列表视图มันคล้ายั้UITableViewของiOSนั้นเอง