似乎在将redux与react结合使用时,immutable.js几乎已成为行业标准。我的问题是,当我们使用散布运算符时,是否不是一成不变地对redux状态进行更改?例如,
const reducer = (state=initialState, action) => {
switch(action.type){
case actionType.SOME_ACTION:
return {
...state,
someState: state.someState.filter(etc=>etc)
}
}
Run Code Online (Sandbox Code Playgroud)
我用redux设置状态不是一成不变的吗?使用immutable.js OVER传播算子使对象不可变的好处是什么?
很抱歉,如果有人提出这个问题,但我找不到让我满意的答案。我了解不可变对象的好处,但不了解在点运算符上使用immutable.js库的重要性。
当 API 返回 401 时,我想强制注销用户。以下代码是使用 Mobx 在 React Native Ignite 项目中编写的
import { useStores } from "../../models"
this.apisauce.axiosInstance.interceptors.response.use(response => {
return response;
}, error => {
if (error.response.status === 401) {
useStores().authStore.reset()
}
return error;
})
Run Code Online (Sandbox Code Playgroud)
对 authStore.reset() 的调用不会发生,没有错误,没有console.tron.log,什么也没有。有没有更好的做法来捕获401并触发mobx动作?没有在调用 API 的每个单独操作中处理它?
我是 HTML 的新手,我正在开发一个项目,当您按住它时需要使用按钮,它会重复相同的操作。这是我得到的代码,但没有用。
!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Button</title>
</head>
<body>
<button id = "forward" accesskey="o" onmousedown="display(1)" onmouseup="stop()">forward</button>
<script>
function stop(){
console.log(" ")
}
function display(value){
if (value == 1){
console.log("left");}}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我在数学上试图确定最短的移动顺序以达到所需的数值结果。我有两个函数,两个函数都将一个数字乘以2,然后减去另一个数字的值。
到目前为止,我已经包含了我的代码,这使我可以手动调用两个函数以获得所需的结果。但是,我想帮助您弄清楚循环自动执行此操作的逻辑。
function findShortestSequence(number) {
let left = 0;
let right = 1;
let moves = [];
const moveLeft = () => {
moves.push('L');
left = 2 * left - right;
}
const moveRight = () => {
moves.push('R');
right = 2 * right - left;
}
moveLeft();
moveLeft();
moveRight();
moveLeft();
console.log(left, right, moves);
}
findShortestSequence(-11)Run Code Online (Sandbox Code Playgroud)
javascript ×3
algorithm ×1
apisauce ×1
axios ×1
html ×1
immutable.js ×1
interceptor ×1
mobx ×1
react-native ×1
reactjs ×1
redux ×1