Android 在ListView中导航时出现问题
我是RN的新手,我正在寻找解决这个问题的方法。我在网上找到了很多信息,但仍然不起作用 这是我的初始代码:Android 在ListView中导航时出现问题,android,listview,react-native,Android,Listview,React Native,我是RN的新手,我正在寻找解决这个问题的方法。我在网上找到了很多信息,但仍然不起作用 这是我的初始代码: import { StackNavigator, NavigationActions } from 'react-navigation'; ... 从数据源填充listitem的My函数: list(rowData, sectionID, rowID) { var onPress = () => this.props.navigation.goBack(); return (
import { StackNavigator, NavigationActions } from 'react-navigation';
...
从数据源填充listitem的My函数:
list(rowData, sectionID, rowID) {
var onPress = () => this.props.navigation.goBack();
return (
<ListItem thumbnail onPress={onPress}>
<Body>
<Text>{rowData.Title}</Text>
<Text numberOfLines={2}>
<Icon name="map-marker" size={15} color="grey" />
{rowData.Address}, {rowData.City} ({rowData.Distance} km)
</Text>
<Text numberOfLines={3}>{rowData.Description}</Text>
</Body>
{VerifiedUser}
</ListItem>
);
}
onPress操作向我发送错误消息:
“未定义”不是对象
“\u this2.道具.导航.返回”
似乎这种成分没有被确认。
有什么帮助可以解释这个错误吗
谢谢大家! 我假设您使用的是ListView,list是renderRow函数的函数。您的错误是由未绑定导致的。你可以在网上更多地了解它 您需要绑定函数才能在其中使用它。你有两个选择 第一个选项是内联绑定
<ListView renderRow={this.list.bind(this)} />
第二个选项是在构造函数中绑定
class SomeComponent extends React.Component {
constructor(props) {
super(props);
this.list = this.list.bind(this);
}
list(rowData, sectionID, rowID) {
// ...
}
render() {
return(<ListView renderRow={this.list} />)
}
}
第三种选择是使用箭头函数
class SomeComponent extends React.Component {
list = (rowData, sectionID, rowID) => {
// ...
}
render() {
return(<ListView renderRow={this.list} />)
}
}
列表函数是在使用它的组件中定义的吗?是的,对不起。是的。。我正在更新代码,正如你所看到的,我已经回答了你的评论。问题与绑定无关,而是如何将导航组件传递到RenderRow@MehmetAitAddi当我回答你的问题时,没有你如何使用列表功能的部分哦,对不起,在你提出建议之前,我认为它已经更新了:对不起,这个问题有什么帮助吗?@MehmetAitAddi你能添加你的导航结构吗?你在哪里添加这个包含这个ListView的组件
class SomeComponent extends React.Component {
list = (rowData, sectionID, rowID) => {
// ...
}
render() {
return(<ListView renderRow={this.list} />)
}
}