我想将数据传递到另一个组件状态。但是我不想打开该页面,我的意思是Idont想要使用导航。
我在该页面上使用ComponEnwillMount,但是当数据更改时,ComponenWillMount不再工作。
我像这样通过。
<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>
这是新页面:
export default class NewPage extends Component {
constructor(props) {
super(props);
this.state= {
fromPage1: [],
}
}
我每次都想更改状态,即" frompage1"
我不确定您在问什么。如果我把你说对了,我想你正在寻找类似的东西
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)}
让我知道您是否想要其他东西。