相关疑难解决方法(0)

React Router V6 中提示的替代方案

React Router V6 中的替代方案是什么Prompt?它是否已被弃用,并且像usePrompt,这样的钩子useBlocker也不可用。

<Prompt message="Are you sure you want to leave?" />
Run Code Online (Sandbox Code Playgroud)

reactjs react-router react-router-dom

16
推荐指数
1
解决办法
2万
查看次数

在 React Router v6 中,如何在离开页面/路由之前检查表单是否脏

以下是我正在使用的软件包版本。

React version - 16.13.1
react-router-dom version - 6.0.0-beta.0
react-redux version 7.2.0
Material UI version 4.11.0
Run Code Online (Sandbox Code Playgroud)

isDirty当用户试图离开当前页面时,如何/什么是检查表单(已更改)的最佳方法?如果表单isDirty.

我将从内部获取数据useEffect()并使用 redux reducer 来呈现 UI。

我应该声明一个变量来保留原始获取的数据以进行脏检查吗?

这就是我正在做的事情,但它无法正常工作。

组件.js

 useEffect(() => {
    props.fetchUserInfo();
 })
Run Code Online (Sandbox Code Playgroud)

动作.js

export function fetchUserInfo() {
 return (dispatch) => {
     dispatch({type: USER_INITIALSTATE, {Name: 'abc', Age: 20}} 
     )
 }
}
Run Code Online (Sandbox Code Playgroud)

userReducer.js

const initialState = {
  processing: false,
  success: false,
  fail: false,
  Profile: {}
}
let oriState;
let State;
const UserReducer = (state = initialState, action) => { …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router material-ui react-redux

10
推荐指数
2
解决办法
5022
查看次数