-
Notifications
You must be signed in to change notification settings - Fork 0
Props
murajun1978 edited this page Jun 8, 2016
·
1 revision
React.jsのPropsを理解しようヘ(^o^)ノ
-
this.props.xxx
でプロパティにアクセスできる
import React from 'react'
class App extends React.Component {
render(){
return <div>Hello { this.props.name }</div>
}
}
export default App
-
<App name="foo" />
こんな感じ- 値がnumberやbooleanなら
{}
が必要だよ<App age={1} />
- 値がnumberやbooleanなら
import React from 'react'
import ReactDom from 'react-dom'
import App from './App'
ReactDom.render(<App name="Shinosaka.rb"/>, document.getElementById('app'))
Hello Shinosaka.rb
と表示されたら 🎉
import React from 'react'
class App extends React.Component {
render(){
return <div>Hello { this.props.name }</div>
}
}
// デフォルト値をセット
App.defaultProps = {
name: 'Shinosaka.rb'
}
export default App
import React from 'react'
import ReactDom from 'react-dom'
import App from './App'
ReactDom.render(<App />, document.getElementById('app'))
Hello Shinosaka.rb
と表示されたら 🎉
import React from 'react'
class App extends React.Component {
render(){
return <div>Hello { `${this.props.name} #${this.props.number}` } </div>
}
}
// デフォルト値をセット
App.defaultProps = {
name: 'Shinosaka.rb'
}
// タイプを指定
App.propTypes = {
// 文字列
name: React.PropTypes.string,
// 数値で必須
number: React.PropTypes.number.isRequired
}
export default App
ブラウザのコンソールにエラーが表示されていれば 🐛
index.js:8491 Warning: Failed propType: Required prop
numberwas not specified in
App.
import React from 'react'
import ReactDom from 'react-dom'
import App from './App'
ReactDom.render(<App number={23} />, document.getElementById('app'))
Hello Shinosaka.rb #23
と表示されたら 🎉