- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
就像在 Web 浏览器中一样,我们有 onBeforeUnload (vs onUnload) 来显示警报或一些警告“有未保存的数据 - 您确定要返回吗”。
我正在尝试做同样的事情。我在 react-navigation 的文档中找不到任何内容。
我想做一些像这样真正hacky的事情,但我不知道它是否正确:
import React, { Component } from 'react'
import { StackNavigator } from 'react-navigation'
export default function ConfirmBackStackNavigator(routes, options) {
const StackNav = StackNavigator(routes, options);
return class ConfirmBackStackNavigatorComponent extends Component {
static router = StackNav.router;
render() {
const { state, goBack } = this.props.navigation;
const nav = {
...this.props.navigation,
goBack: () => {
showConfirmDialog()
.then(didConfirm => didConfirm && goBack(state.key))
}
};
return ( <StackNav navigation = {nav} /> );
}
}
}
最佳答案
React navigation 5.7 添加了对它的支持:
function EditText({ navigation }) {
const [text, setText] = React.useState('');
const hasUnsavedChanges = Boolean(text);
React.useEffect(
() =>
navigation.addListener('beforeRemove', (e) => {
if (!hasUnsavedChanges) {
// If we don't have unsaved changes, then we don't need to do anything
return;
}
// Prevent default behavior of leaving the screen
e.preventDefault();
// Prompt the user before leaving the screen
Alert.alert(
'Discard changes?',
'You have unsaved changes. Are you sure to discard them and leave the screen?',
[
{ text: "Don't leave", style: 'cancel', onPress: () => {} },
{
text: 'Discard',
style: 'destructive',
// If the user confirmed, then we dispatch the action we blocked earlier
// This will continue the action that had triggered the removal of the screen
onPress: () => navigation.dispatch(e.data.action),
},
]
);
}),
[navigation, hasUnsavedChanges]
);
return (
<TextInput
value={text}
placeholder="Type something…"
onChangeText={setText}
/>
);
}
文件:
https://reactnavigation.org/docs/preventing-going-back
关于react-native - 背面的确认/警告对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49928476/
我想以这样的方式实现,当我们单击图像时,所选图像应出现在前面,其余图像应隐藏在所选图像的后面。 我有使用 jquery 实现的类似功能的代码引用。 Click on image to move to
我有一个带有 Fragment 的应用程序。它从屏幕上的两个动态 fragment 开始。在 fragment B 上,我有一个列表。当我点击该项目时,我将这两个 fragment 更改为 C 和 D
我创建了一本这样的 CSS 书:https://fiddle.jshell.net/b1b0642z/现在我需要封面的背面是不同的颜色。我试图在封面之后用这个类创建另一个 div: .front_ba
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在开发一个使用 UIView 作为文本背景的应用程序。我已将 View 放在 storyboard 中的文本后面,但出于某种原因,有些 View 似乎仍位于文本前面。有没有办法以编程方式将这些 V
我有一个关于三个 JS 的问题。 fiddle https://jsfiddle.net/syildiz/fk8thLsq/17/ 我想创建一个跟随鼠标移动的眼睛。我上传的图片同时在背景中可见,并且在
我是一名优秀的程序员,十分优秀!