类型为“boolean”的prop`function`无效

时间:2018-03-13 13:54:42

标签: javascript reactjs react-native eslint

我正在尝试将一个函数从我的一个JavaScript文件传递到一个组件。

<Button onPress={() => console.log(title)} />

我试图将函数分配给变量。我试图将该函数放在组件文件中。无论我做什么,我都会收到同样的错误:

  

提供给onPress类型的道具boolean无效   TouchableOpacity,预计function

这是我的Button组件的代码。

const Button = ({ onPress }) => {
const { buttonStyle,
buttonTextStyle } = styles;

return (
    <TouchableOpacity onPress{...onPress} style={buttonStyle}>
        <Text style={buttonTextStyle}>Click Me!!</Text>  
    </TouchableOpacity>
);

};

每次我没有将...放在onPress函数中,我都会收到此错误:

  

解析错误:意外的令牌,预期...

我是React Native的新手,现在已经调试了好一个小时。难以理解我做错了什么。我不明白为什么代码认为函数是布尔类型。作为参考,我使用的是ESLint和扩展名rally coding

1 个答案:

答案 0 :(得分:3)

onPress接受你在道具中传递的功能。只需参考destructured属性。此外,您在=属性中缺少onPress

<TouchableOpacity onPress={onPress} style={buttonStyle}>