Javascript 具有useEffect和React Native的socket.IO将不会多次更新Redux状态

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

我在我的React项目中有相同的功能,并且工作得很好,但是在React native中,它似乎只更新了一次redux状态,甚至在第一次调用更新redux之后,useEffect也不会更新。知道会是什么吗

这是密码

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])

请将此答案向上投票,以便其他人可以获得帮助。非常感谢。