Presentation (Dumb) components
은 1 학년 학생과 비슷하지만 독특한 외모를 가지고 있지만 행동과 콘텐츠는 부모가 결정하거나 가르칩니다. 예 : <Button />
export const Button = props => {
<button type="button" onClick={props.onClick} />{props.text}</button>
}
독특한 외관 :이 버튼
행동입니다 : onclick을
내용 : 텍스트
온 클릭하고 텍스트 모두 부모에 의해 제공됩니다. 그들은 5 또는 7 학년까지 증가 할 때
, 그들은 state
자신이 자신에 대한 것들을 몇 가지를 결정하기 시작할 수 있습니다. 예 : <Input />
class Input extends Component {
constructor(props) {
super(props);
this.state = {
value: ''
}
}
handleChange = (e) => {
this.setState({value: e.target.value});
}
render() {
return (
<input
type="text"
value={this.state.value}
onChange={this.handleChange}
onFocus={this.props.onFocus}
/>
);
}
}
독특한 외관 :이 입력
주 : 그것은에게 자신의 가치를 결정한다.
동작 : onFocus
부모가 제공하는 onFocus.
그리고 그들이 성인이 될 때 자신에 행동을 시작하고 부모의지도가 필요할 수 없습니다 . 그들은 바깥 세계 (redux 상점) 과 대화하기 시작합니다. 이제는 새로운 컨테이너 구성 요소입니다. 예
const mapStateToProps = (state, [ownProps]) => {
...
}
const mapDispatchToProps = (state, [ownProps]) => {
...
}
const MyComponent = (props) => {
return (
<ChildComponent {...props} />
);
}
connect(mapStateToProps, mapDispatchToProps)(MyComponent);
가 나 (ownProps 읽기)
이 표상 구성 요소 나 자신의 행동을 필요로하지 않을 수도 있습니다 부모를 필요로하지 않을 수도 있습니다, 자신의 행동과 내용을 결정, 그들은 의지 그들의 부모님. 그러나 바깥 쪽 세계 (매장)와 이야기 (파견)하려면 충분히 커야합니다 (컨테이너 구성 요소).
여기에서 기억해야 할 중요한 점은 작은 것으로 시작하여 프리젠 테이션 또는 컨테이너 구성 요소 일 필요가 있는지 여부에 관계없이 구성 요소가 증가하는지 결정하는 것입니다.
용기가 redux에 대해 알 것입니다. 귀하의 구성 요소는 그렇지 않습니다. 그들은 벙어리해야하며 Redux에 바인딩 된 부모 컨테이너에 의해 자체적으로 상태를 관리하는 부모 구성 요소에 의해 사용될 수 있습니다. – palsrealm