> For the complete documentation index, see [llms.txt](https://twins-bamboo.gitbook.io/react-native-note/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://twins-bamboo.gitbook.io/react-native-note/basic/props-and-state.md).

# props and state

### props 參數

[官方文檔](https://facebook.github.io/react-native/docs/props.html)    [中文](https://reactnative.cn/docs/0.30/props.html#content)

* 大多數組件(Component)在創建的時候就可以用各種參數來定製，這些創建參數(creation parameters)就叫做props
* 單向傳遞的屬性
* 是在父組件中被指定，而且一經指定，在被指定的組件的生命週期中就不會改變
* 屬性多的時候可以直接傳遞一整個對象，語法為 { ...parameter's name }，這是es6的新特性

可參考官方給的例子

### state 狀態

[官方文檔](https://facebook.github.io/react-native/docs/state.html)    [中文](https://reactnative.cn/docs/0.30/state.html)

* 通過state來控制組件中資料的變動
* 當state發生變化，則會更新DOM
* 在constructor中初始化(es6)(es5是getInitialState)
* 調用setState方法，更改state值

[Sample](http://www.reactnativeexpress.com/data_component_state) (state\&List) form React Native Express 可參考官方給的例子
