Ich versuche auf this.props
in der clicked()
Methode zuzugreifen, aber sie sind nicht definiert. Wie kann ich auf this.props
über die Methoden in der ListItemExample-Klasse zugreifen?React Native kann nicht auf this.props außerhalb der render() -Methode zugreifen
Mein Ziel ist es, die id
in der Show-Ansicht, die die Detailansicht für ein angeklickt ListItemExample zeigt.
export default class Example extends Component {
constructor() {
super();
let ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.state = {
dataSource: ds,
isLoading: true
};
}
componentDidMount() {
this.fetchData()
}
fetchData() {
Api.getPosts().then((resp) => {
console.log(resp);
this.setState({
dataSource: this.state.dataSource.cloneWithRows(resp.posts),
isLoading: false
})
});
}
render() {
return (
<View style={styles.container}>
<ListView
dataSource={this.state.dataSource}
renderRow={this.renderRow.bind(this)}
style={styles.postList}
/>
</View>
);
}
renderRow(post) {
return (
<PostListItem
id={post.id}
coverImage={post.cover_image}
title={post.title}
lockedStatus={post.status}
time={post.time} />
);
}
}
export default class ListItemExample extends Component {
constructor() {
super();
}
render() {
return (
<TouchableHighlight onPress={this.clicked} >
<View style={styles.postItem}>
</View>
</TouchableHighlight>
);
}
clicked() {
console.log("clicked props");
console.log(this.props);
Actions.openPost();
}
}
Sollte Ihr Konstruktor nicht "Requisiten" als Argument nehmen und an Super übergeben? 'Konstruktor (Requisiten) {Super (Requisiten)}' – TAGraves