【发布时间】:2019-11-12 10:37:28
【问题描述】:
我有这个 React Native 组件:
type Props = { image: string, onPress: Function, text: string, title: String };
type States = { loadError: boolean };
export default class ProductRow extends Component<Props, States> {
state = {
loadError: false
};
changeToDefaultImg() {
this.setState({ loadError: true });
}
render() {
let img = this.state.loadError ? (
<SImage source={PLACEHOLDER} style={styles.placeholderImg} />
) : (
<Image
source={{ uri: this.props.image }}
indicator={ProgressCircleSnail}
indicatorProps={{ color: mainDark }}
onError={() => this.changeToDefaultImg()}
resizeMode="contain"
style={styles.image}
threshold={0}
/>
);
return (
// JSX
);
}
}
你可以看到我没有写:
constructor(props) {
super(props)
this.changeToDefaultImg = this.changeToDefaultImg.bind(this);
}
但我可以毫无错误地使用此功能。
请向我解释一下,为什么它会起作用。
【问题讨论】:
标签: javascript react-native jsx es6-class arrow-functions