하나를 보내 못해 구성 요소를 저장하는 방법을 알고 및 부모 구성 요소의 comp2
을 각각 전달하지만 내부 내용을 표시하거나 숨길 필요가 있는지 알려주려면 표시를 각각 전달해야합니다. 표시되는 경우 올바른 구성 요소 내용을 렌더링하고 그렇지 않으면 비어 있습니다. <Text></Text>
두 하위 구성 요소가 모두 상위에 있으며 제거되지는 않지만, l 어느 것이 부모 구성 요소에 의해 자체 콘텐트를 보여야 하는가?
따라서 데이터를 한 번만 가져옵니다. 에서
확인 작업을 예는 JS 반응 : https://codesandbox.io/s/84p302ryp9
콘솔을 선택하면 당신은 그 페치 COMP1 및 COMP2에 대해 한 번 수행 찾을 로그인합니다.
또한 네이티브 아래의 반응에서 같은 예를 확인 :
class Parent extends Component {
constructor(props)
{
super(props);
this.state={
show1 : true //by default comp1 will show
}
}
toggleChild=()=>{
this.setState({
show1 : !this.state.show1
});
}
render(){
return (
<View >
<Button onPress={this.toggleChild} title="Toggle Child" />
<Comp1 show={this.state.show1} />
<Comp2 show={!this.state.show1} />
</View>
)
}
}
COMP1 :
class Comp1 extends Component
{
constructor(props) {
super(props);
this.state={
myData : ""
}
}
componentWillMount(){
console.log("fetching data comp1 once");
this.setState({
myData : "comp 1"
})
}
render(){
return (
this.props.show ? <Text>Actual implementation of Comp1</Text> : <Text></Text>
)
}
}
COMP2 :
class Comp2 extends Component {
constructor(props) {
super(props);
this.state = {
myData2: ""
}
}
componentWillMount() {
console.log("fetching data in comp2 once");
this.setState({
myData2: "comp 2"
});
}
render() {
return (
this.props.show ? <Text>Actual implementation of Comp2</Text> : <Text></Text>
)
}
}
는 주요 구성 요소의 모든 데이터를 가져 오기 위해 좋은 생각이야하지만 난 처음부터 모든 데이터를 가져 그래서 만약 미래에 긴 목록이 될 것입니다 이름의 단순 목록을 많은 메모리 사용량이있을 것입니다, 제발 내가 틀렸다면 수정하십시오 –