我正在关注this document将材质设计添加到我的本机应用中。我喜欢点击按钮时发生的涟漪效应。但是,我正在努力让它与OnPress处理程序一起工作。在下面的代码中,如果我只是在没有navigate('Login');
的情况下编写setTimeout()
,我就看不到涟漪效应了。但是,如果我包含setTimeout,即使延迟为0,我也会看到涟漪效应。我觉得有一些关于事件处理程序的基本知识我还不了解。
import React, { Component } from 'react';
import { Button, Container, Content, StyleProvider, Text, View } from 'native-base';
import getTheme from '../../../native-base-theme/components';
import material from '../../../native-base-theme/variables/material';
class Welcome extends Component {
render() {
const { navigate } = this.props.navigation;
return (
<StyleProvider style={getTheme(material)}>
<Container>
<Content>
<View>
<Button
onPress={() => {
setTimeout(() => {
navigate('Login');
}, 0);
}}
block
>
<Text>Continue</Text>
</Button>
</View>
</Content>
</Container>
</StyleProvider>
);
}
}
export default Welcome;