我尝试了所有我能想到的东西,而且我似乎无法正常工作
我想从像这样的数组中添加多个选项
<Menu renderer={renderers.SlideInMenu} ref={(ref) => statusRef = ref}>
<MenuTrigger/>
<TouchableWithoutFeedback onPress={this.onQuestionStatusButtonPressed}>
<View style={styles.view_header_submit_icon}>
<Icon style={styles.icon_header_submit} name={"dots-vertical"} />
</View>
</TouchableWithoutFeedback>
<MenuOptions>
{this.state.subjects.forEach((value) => {
<MenuOption >
<View style={styles.view_option}>
<Text style={styles.text_option}>value.name</Text>
</View>
</MenuOption>
)}
</MenuOption>
</MenuOptions>
</Menu>
这对我不起作用 难道我做错了什么?并且数组中有项目,因为我使用控制台调试它,它运行2次但从不渲染
答案 0 :(得分:0)
您的代码似乎在语法上不正确(例如额外的</MenuOption>
)并且您有空的触发器,但外部额外可触摸..
其次 - forEach
因为没有返回值而无法工作 - 请改用map
。
我做了简单的工作演示https://snack.expo.io/SJBJkr7yQ,它没有任何问题
<Menu>
<MenuTrigger text="Select action" />
<MenuOptions>
<MenuOption onSelect={() => alert(`Save`)} text="Save" />
{this.state.subjects.map(s => <MenuOption key={s} text={s}/>)}
</MenuOptions>
</Menu>
Pro-tip:从最简单的工作示例开始(例如,从官方文档中),并逐步添加一些事情,检查一切是否正常。