他,我试图修改shoutem.places
扩展名。我的自定义屏幕如下所示:
import { screens } from 'shoutem.places';
export default class FixedMediumPlaceDetails extends
screens.MediumPlaceDetails {
render() {
const { place } = this.props;
const { location = {} } = place;
return (
<Screen>
<NavigationBar />
<ScrollView>
{this.renderLeadImage(place)}
</ScrollView>
</Screen>
);
}
}
我只是重写了render()
方法,在这个方法中我想从超类中调用renderLeadImage()
方法。
通过这种实现,我得到:this.renderLeadImage() is not a function
。那么我如何正确地继承该类并调用一个超类&#39;方法?无论如何,继承是这里的首选方式吗? Facebook推荐组合而不是继承。
答案 0 :(得分:0)
screens.MediumPlaceDetails
不是一个React Component类,而是一个redux
和shoutem.theme
装饰类,这就是为什么当你扩展时你无法访问任何一个renderLeadImage()
的方法。
因此,您必须更改import
:
import { MediumPlaceDetails } from 'shoutem.places/screens/MediumPlaceDetails';
编辑: 修复了复制粘贴错误。