props와 state의 이미지를 잡아주세요. [첫 번째 React]
17678 단어 React
그래서 이번에 우리는 이 두 캐릭터와 사용 방법을 조사하고 자신의 스타일을 정리해 보았습니다!!
props와state는 무엇입니까?두루뭉술하게 설명하다
props: 부모 구성 요소에서 하위 구성 요소로 값을 전달하는 메커니즘
state: 모든 구성 요소의 구성 요소 상태를 관리하는 메커니즘
props
상위 어셈블리에서 하위 어셈블리로 값을 전달하는 메커니즘
구성 요소의 부자 관계는?
상위: 어셈블리 사용자
서브어셈블리: 어셈블리의 한 면을 사용합니다.
구성 요소는 포위를 통해 호출할 수 있습니다
components/Title.서브어셈블리export default class Title extends React.Component {
render() {
return (
<View>
<Text>子コンポーネント</Text>
</View>
);
}
}
App.상위 어셈블리import Title from './components/Title';
export default class App extends React.Component {
render() {
return (
<View>
<Text>親コンポーネント</Text>
{/* Titleコンポーネント(子コンポーネント)の呼び出し */}
<Title/>
</View>
);
}
}
부모 구성 요소가 하위 구성 요소를 호출할 때props를 사용하여 하위 구성 요소에 값을 전달할 수 있습니다
props 사용 방법
상위 어셈블리에서 하위 어셈블리로 값을 전달하는 메커니즘
구성 요소의 부자 관계는?
상위: 어셈블리 사용자
서브어셈블리: 어셈블리의 한 면을 사용합니다.
구성 요소는 포위를 통해 호출할 수 있습니다
components/Title.서브어셈블리
export default class Title extends React.Component {
render() {
return (
<View>
<Text>子コンポーネント</Text>
</View>
);
}
}
App.상위 어셈블리import Title from './components/Title';
export default class App extends React.Component {
render() {
return (
<View>
<Text>親コンポーネント</Text>
{/* Titleコンポーネント(子コンポーネント)の呼び出し */}
<Title/>
</View>
);
}
}
부모 구성 요소가 하위 구성 요소를 호출할 때props를 사용하여 하위 구성 요소에 값을 전달할 수 있습니다props 사용 방법
App.상위 어셈블리
import Title from './components/Title';
export default class App extends React.Component {
render() {
return (
<View>
{/* 子に渡す値を設定 */}
<Title title="今日のできごと"/>
</View>
);
}
}
components/Title.서브어셈블리export default class Title extends React.Component {
render() {
return (
<View>
{/* 親から渡渡された値を取り出す */}
<Text>{this.props.title}</Text>
</View>
);
}
}
표시props 전달 가능 값
문자열, 스타일, 이벤트 등
props 사용의 장점
props를 사용하면 여러 가지 상황에서 하나의 구성 요소를 사용할 수 있습니다
→ 어셈블리의 재사용성 향상
App.상위 어셈블리
import Title from './components/Title';
export default class App extends React.Component {
render() {
return (
<View>
<Title titleStyle={{backgroundColor: "pink"}} title="リンゴ🍎"/>
<Title titleStyle={{backgroundColor: "yellow"}} title="バナナ🍌"/>
<Title titleStyle={{backgroundColor: "orange"}} title="オレンジ🍊"/>
</View>
);
}
}
components/Title.서브어셈블리export default class Title extends React.Component {
render() {
return (
<View>
<Text style={this.props.titleStyle}>{this.props.title}</Text>
</View>
);
}
}
props 고려사항
state
각 구성 요소의 구성 요소 상태를 관리하는 메커니즘
구성 요소에서 교환된 정보를 상태로 관리
그리고 상태의 변화에 따라state의 값을 바꿀 수 있습니다
예시:state 관리를 통해 상향 계수
state 사용 방법
state의 초기 값 설정
↓
this.setState () 에서 state 변경 처리 쓰기
★state 값을 업데이트할 때 필요합니다setState()
경유 진행
↓
state를 업데이트하면 필요한 구성 요소가 자동으로 다시 불러옵니다.
state를 사용하여 위쪽 계수 단추 만들기
App.jsimport React, { Component } from 'react';
import {
View,
Text,
// ボタンコンポーネント
TouchableOpacity,
StyleSheet,
} from 'react-native';
export default class App extends React.Component {
// stateの初期値設定
state = { count: 0 }
// stateの状態変更処理 必ずsetState()で行う!
countUp = () => {
this.setState({
count: this.state.count + 1
});
}
render() {
return (
<View style={styles.container}>
{/* カウントアップボタン */}
<TouchableOpacity
style={styles.button}
onPress={this.countUp}>
<Text>ボタン</Text>
</TouchableOpacity>
{/* stateのcountを表示 */}
<Text>
Count : {this.state.count}
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
button: {
backgroundColor: 'pink',
color: 'white',
marginBottom: 10,
padding: 10,
borderRadius: 15,
}
});
버튼을 누르면 스테이트가 업데이트된 걸 알 수 있어요.
총결산
props와state에 대한 이해를 깊이 있게 했다.
props: 부모 구성 요소에서 하위 구성 요소로 값을 전달하는 메커니즘
state: 모든 구성 요소의 구성 요소 상태를 관리하는 메커니즘
다른 사람의 이해를 도울 수 있다면 다행이다!
참고 자료
import React, { Component } from 'react';
import {
View,
Text,
// ボタンコンポーネント
TouchableOpacity,
StyleSheet,
} from 'react-native';
export default class App extends React.Component {
// stateの初期値設定
state = { count: 0 }
// stateの状態変更処理 必ずsetState()で行う!
countUp = () => {
this.setState({
count: this.state.count + 1
});
}
render() {
return (
<View style={styles.container}>
{/* カウントアップボタン */}
<TouchableOpacity
style={styles.button}
onPress={this.countUp}>
<Text>ボタン</Text>
</TouchableOpacity>
{/* stateのcountを表示 */}
<Text>
Count : {this.state.count}
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
button: {
backgroundColor: 'pink',
color: 'white',
marginBottom: 10,
padding: 10,
borderRadius: 15,
}
});
props와state에 대한 이해를 깊이 있게 했다.
props: 부모 구성 요소에서 하위 구성 요소로 값을 전달하는 메커니즘
state: 모든 구성 요소의 구성 요소 상태를 관리하는 메커니즘
다른 사람의 이해를 도울 수 있다면 다행이다!
참고 자료
Reference
이 문제에 관하여(props와 state의 이미지를 잡아주세요. [첫 번째 React]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rio_threehouse/items/7632f5a593cf218b9504텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)