我制作了一个名为的组件IconButton
,它需要一些道具并传递任何额外的道具。
import Icon from 'react-native-vector-icons/FontAwesome';
const IconButton = ({ icon, title, ...props }) => {
console.log(props); // Actual: {}, expected: { onPress: [function] }
return (
<View style={ iconBox } { ...props }>
<Icon name={ icon } size={ 48 } color="black" />
<Text>{ title }</Text>
</View>
};
然后我渲染它:
const render = () => (
<IconButton icon='plus' title='add' onPress={ () => console.log('hi') } />
);
但是,当我尝试使用 登录时console.log
,onPress
没有出现;它记录了一个空对象。此外,它没有传递给我View
,因为它onPress
在按下时没有调用。但是当我通过不同类型的不同道具(例如数字和字符串)时,它显示得很好。
为什么它没有被传递给我View
,为什么没有记录道具?如果这可能会影响任何事情,我也在使用 Expo。我在 GitHub 上设置了一个问题。