我想将数据传递到另一个组件状态。但我不想打开该页面,我的意思是我不想使用导航。
我在该页面上使用componenwillmount,但是当数据更改时,componenmount将不再起作用。
我这样通过。
<NewPage data={this.state.collection} />
这是第1页:
return (
<View style= {styles.firstView}>
<View style={{flex: 1.5}}>
<Header color1 = {Blue.length} color2 = {Yellow.length} navigation={this.props.navigation} setData= {this.handleSetData}/>
</View >
<View style={{flex: 0.5, backgroundColor:'#f2f2f2'}}>
<Bar />
</View>
<View style={{flex: 9}}>
{/* <ScrollView>
{this.renderall()}
</ScrollView> */}
<NewPage data= {this.state.collection}/>
</View>
<View style={styles.footerStyle}>
<Footer />
</View>
</View>
这是NewPage:
export default class NewPage extends Component {
constructor(props) {
super(props);
this.state= {
fromPage1: [],
}
}
正如我每次说的那样,我想更改状态为“ frompage1”
答案 0 :(得分:1)
我不太确定你在问什么。如果我说对了,我认为您正在寻找类似的东西
export default class NewPage extends Component {
constructor(props) {
super(props);
const {data} = props;
console.log(data); //just to make sure you are getting right set of data
this.state= {
fromPage1: data
}
}
// if your props are updating try
componentWillReceiveProps(nextProps) { this.setState(fromPage1: nextProps.data)}
让我知道您是否还想要其他东西。