以下是我正在使用的软件包版本。
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) 我有一个包含下划线(_)变量名的数据集。如下图:
const data = {
m_name: 'my name',
m_address: 'my address',
p_1_category: 'cat 1',
p_1_name: 'name 1',
p_2_category: 'cat 2',
p_2_name: 'name 2'
}
Run Code Online (Sandbox Code Playgroud)
我想将它们拆分为嵌套对象/数组,下面是我想要的结果。
{
m: {
name: "my name",
address: "my address"
},
p: {
"1": {category: 'cat 1', name: 'name 1'},
"2": {category: 'cat 2', name: 'name 2'}
}
}
Run Code Online (Sandbox Code Playgroud)
如何编写递归方法来实现它而不是硬编码?也许它应该允许处理更深的嵌套对象,例如 "p_2_one_two_category: 'value'" 到 p:{2:{one:{two:category:'value'}}}
const data = {
m_name: 'my name',
m_address: 'my address',
p_1_category: 'cat 1',
p_1_name: 'name 1',
p_2_category: 'cat 2',
p_2_name: 'name 2' …Run Code Online (Sandbox Code Playgroud)arrays ×1
javascript ×1
material-ui ×1
object ×1
react-redux ×1
react-router ×1
reactjs ×1
recursion ×1