在React Native中,使用时
createStackNavigator
,我怎么通过
navigate
作为道具?
-
items
很好,但是
导航
是
undefined
当传递给
MyList
.
-
undefined is not a function(evaluating 'navigate('ItemDetails', { itemId: item.id })')
.
-
我怎么能通过
到
糜棱岩
export class MyScreen extends React.Component {
render() {
const { items } = this.props;
const { navigate } = this.props.navigation;
console.log(navigate); // this logs [Function anonymous] :)
return (
<View>
<MyList items={items} navigate={navigate} />
</View>
);
}
}
const MyList = ( { items }, { navigate } ) => {
console.log(navigate); // this logs undefined :(
return (
<ScrollView>{
items && items.map( item =>
<View key={item.id}>
<TouchableOpacity onPress={ () =>
navigate( 'ItemDetails', { itemId: item.id } )
}>
<Text>Go</Text>
</TouchableOpacity>
</View>
)}</ScrollView>
)}
PS:如果我把所有的代码从
糜棱岩
MyScreen
,它会工作得很好。