我在我们的React Native应用程序中使用 Wix react native导航V2 。 我遇到了将数据从一个屏幕传递到另一屏幕的问题。 当我选择 FLATLIST行时,第一个屏幕包含 FLATLIST ,然后我需要导航并在另一个Screen处传递行数据。
这是我的代码:
屏幕1:
此代码在 FLATLIST(工作正常)
上显示行数据_renderItem = ({ item }) => {
const text = `${item}`;
return (
<TouchableOpacity onPress={() => this.moveToAnotherScreen(item)}>
<View style={styles.cardView}>
<Text style={styles.item2}>{item.name}</Text>
<Text style={styles.item2}>{item.Type}</Text>
<Text style={styles.item2}>{item.mobile}</Text>
</View>
</TouchableOpacity>
);
};
这是 moveToAnotherScreen 函数
moveToAnotherScreen(item) {
Navigation.push(this.props.componentId, {
component: {
name: 'ShowAnotherScreen',
},
passProps: {
data: item
}
});
}
屏幕2:
componentDidMount() {
const params = this.props.data
console.log('params', params);
}
答案 0 :(得分:6)
您传递道具的语法是错误的。请尝试以下
Ext.define('Foresto.model.EditListRenters', {
extend: 'Ext.grid.Grid',
xtype: 'rentlist',
requires: [ //some plugins and models
],
frame: true,
store: {
model: 'Foresto.model.RentsListModel',
autoLoad: true,
pageSize: 0,
proxy: {
type: 'ajax',
url: '/api/renter/',
reader: {
type: 'json',
rootProperty: 'results'
}
}
},
plugins: [{
type: //someplugins}
],
/* toolbarConfig: {
xtype:'titlebar',
docked:'top',
items:[{
xtype:'button', // it is don't work
ui:'decline',
text:'decline',
align: 'right',
action:'cancel'
}]
}, */
columns: [{
text: 'id',
dataIndex: 'id'
}, {
text: 'document',
dataIndex: 'document',
editable: true,
flex: 1
}, {
text: 'document_num',
dataIndex: 'document_num',
editable: true
}, {
text: 'legal_type',
dataIndex: 'legal_type',
editable: true
}, {
text: 'fio_represent',
dataIndex: 'fio_represent',
editable: true
}, {
text: 'position_represent',
dataIndex: 'position_represent',
editable: true,
}, {
text: 'certificate',
dataIndex: 'certificate',
editable: true,
}]
});
Passprops应该位于Navigation.push(this.props.componentId, {
component: {
name: "ShowAnotherScreen",
passProps: {
data: item
}
}
})
答案 1 :(得分:1)
moveToAnotherScreen(item) {
Navigation.push(this.props.componentId, {
component: {
name: 'ShowAnotherScreen',
passProps: {
data: item
}
}
});
}
在ShowAnotherScreen
中componentDidMount() {
console.log(JSON.stringify(this.props.item))}