React Native 0.64.3中如何获取组件自身Props并传递给方法?
解决方法
在React Native里,组件的onPress事件对象并不会像Web端那样直接携带组件的value属性,你可以用以下几种方式实现需求:
直接在回调中传入固定值:
既然value是明确的"yes",可以直接把它作为参数传给getPollSelectionValue,不需要依赖事件对象:<View nativeID="yesButton"> <ToggleButton icon="check" value="yes" onPress={() => getPollSelectionValue("yes")} /> </View>同时传递事件对象和value值(如果需要用到事件相关信息):
如果你还需要事件对象的其他信息,可以把两个参数都传进去:<View nativeID="yesButton"> <ToggleButton icon="check" value="yes" onPress={(e) => getPollSelectionValue(e, "yes")} /> </View>对应的方法定义要改成接收两个参数:
const getPollSelectionValue = (event, value) => { // 处理逻辑,比如使用value console.log(value); };通过组件props获取(如果ToggleButton是自定义组件):
如果你用的是自定义的ToggleButton,可以在组件内部的点击回调里把自身的value作为参数传递出去,比如自定义组件内部:const ToggleButton = ({ icon, value, onPress }) => { const handlePress = () => { onPress(value); // 直接把value传给父组件的onPress }; return ( <TouchableOpacity onPress={handlePress}> {/* 组件内容 */} </TouchableOpacity> ); };这样父组件里直接写
onPress={getPollSelectionValue}就能拿到"yes"了。
内容的提问来源于stack exchange,提问作者rakib ayon
相关产品推荐
相关产品推荐

