You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:30:51