我正在尝试将一个函数从我的一个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。
答案 0 :(得分:3)
onPress
接受你在道具中传递的功能。只需参考destructured属性。此外,您在=
属性中缺少onPress
。
<TouchableOpacity onPress={onPress} style={buttonStyle}>