我有一个listView。当用户长按“名称”时,我想打开一个弹出菜单。但是我收到了createContext的错误。
import {
MenuContext,
Menu,
MenuOptions,
MenuOption,
MenuTrigger,
} from 'react-native-popup-menu';
render()
{
...
return(
<View style={{ flex: 1, flexDirection: 'row' }} >
<MenuContext>
<TouchableWithoutFeedback onLongPress = {this.openMenu}>
<Text style={styles.textViewContainer} >{rowData.Ad_name}</Text>
<Menu ref={c => (this.menu = c)}>
<MenuTrigger text = "Select Action.." />
<MenuOptions>
<MenuOption onSelect = {() => this.onEditCampaignAction.bind(this, rowData.campaign_id)}>
{rowData.Status == '0' ?
<TouchableOpacity
style={styles.SubmitButtonStyle}
activeOpacity={.5}
onPress={this.onEditCampaignAction.bind(this, rowData.campaign_id)}>
<FontAwesomeIcon name='pencil' style={styles.icon} />
</TouchableOpacity>
:
<TouchableOpacity
style={styles.SubmitButtonStyle}
activeOpacity={.5}
onPress={this.onViewDetailsAction.bind(this, rowData.campaign_id)}>
<FontAwesomeIcon name='eye' style={styles.icon} />
</TouchableOpacity>
}
</MenuOption>
</MenuOptions>
</Menu>
</TouchableWithoutFeedback>
</MenuContext>
</View>
);
}
答案 0 :(得分:1)
问题已修复。 react-native-popup-menu需要以下版本:
反应:16.3.2 React-Native:0.55.3
我已成功升级了两者的版本并安装了包。
答案 1 :(得分:0)
您正在使用不兼容的RN版本。降级到0.12.x
将解决您的问题。
有关详细信息,请参阅https://github.com/instea/react-native-popup-menu#react-native-compatibility