Javascript 具有useEffect和React Native的socket.IO将不会多次更新Redux状态
我在我的React项目中有相同的功能,并且工作得很好,但是在React native中,它似乎只更新了一次redux状态,甚至在第一次调用更新redux之后,useEffect也不会更新。知道会是什么吗 这是密码Javascript 具有useEffect和React Native的socket.IO将不会多次更新Redux状态,javascript,react-native,redux,socket.io,Javascript,React Native,Redux,Socket.io,我在我的React项目中有相同的功能,并且工作得很好,但是在React native中,它似乎只更新了一次redux状态,甚至在第一次调用更新redux之后,useEffect也不会更新。知道会是什么吗 这是密码 useEffect(() => { console.log('check useEffect') socket.on('connect', function () { console.log('check socket', socket.conne
useEffect(() => {
console.log('check useEffect')
socket.on('connect', function () {
console.log('check socket', socket.connected);
});
socket.on('newDriverAccepted', function (driver) {
console.log(driver)
actions.addOrder(driver)
});
})
actions.js
export const addOrder = order => {
return {
type: "ADD_ORDER",
payload: order
};
};
reducers.js
case "ADD_ORDER":
return Object.assign({}, state, {
orders: [...state.orders, action.payload]
});
请尝试以下代码
useEffect(() => {
console.log('check useEffect')
socket.on('connect', function () {
console.log('check socket', socket.connected);
});
socket.on('newDriverAccepted', function (driver) {
console.log(driver)
actions.addOrder(driver)
});
}, [socket, actions, driver])
请将此答案向上投票,以便其他人可以获得帮助。非常感谢。