Comments (5)
Yes, sounds great for me ! I think it's important because it allow to create more complex flow when a socket event is triggered:
EXAMPLE:
actions: {
SOCKET_USER_MESSAGE: (context, payload) => {
context.dispatch('new_message_notification', payload);
context.commit('add_message', payload);
AudioManager.play('new_message_received');
}
}
from vue-socket.io.
added roadmap
from vue-socket.io.
hey @MarlBurroW can you tell more about this ? I'm not sure to understand, maybe I can help
from vue-socket.io.
Hey, i'll try to explain you:
With Vuex, you can:
- dispatch actions (actions commit mutations and/or asynchronous operations)
- commit mutations (mutation allow to modify the vuex state)
See https://vuex.vuejs.org/en/mutations.html and https://vuex.vuejs.org/en/actions.html
Currently, with Vue-Socket.io, you can trigger Vuex mutations on a socket.io event by prefixing the name of the mutation with "SOCKET_".
BUT (if I'm not wrong) you can't dispatch actions by this same way.
it could be nice to do the same thing for actions, because sometime you need to trigger more than one mutation on a socket event. Sometime you need to make some other operations, asynchrone calls, etc... and actions are made for that.
from vue-socket.io.
What do you think of having the same concept for actions ?
{
mutations: {
my_mutation: (state) => { /*...*/ },
another_mutation: (state) => { /*...*/ },
SOCKET_USER_MESSAGE: (state) => { /*...*/ }
],
actions: {
SOCKET_USER_MESSAGE: (context, payload) => {
// ... do things ...
context.dispatch('my_mutation', payload);
context.dispatch('another_mutation', payload);
}
}
}
You can decide to declare the socket event either in actions
or mutations
or both
from vue-socket.io.
Related Issues (20)
- NPM package source code differences
- The npm package (dist/vue-socketio.js) not synchronized github(dist/vue-socketio.js)
- Anybody get this work with antfu/vitesse boiler plate? HOT 1
- How to use the specified socket.io version
- Pinia Support HOT 2
- connect function dos not trigger HOT 1
- Resolve name conflicts when 2 npm modules have component with same $socket
- Multiple socket connections
- Reconnect event does not to be trigger
- The `Connection` event didn't works for WSS. But it works for WS.
- Feature request: Emit to socket from inside vuex store's mutations, actions functions HOT 1
- New socket instance created if vuex’s store mutation function called inside socket
- Examples not opening
- 后期会支持vue3吗 HOT 1
- can't receive emit from server,my problem?
- Upgrade SocketIO version for FlaskSocketIO compatibility
- Update query param for socket.io reconnect HOT 1
- vue-socket.io 提供Vue3支持方案
- 我这可以支持Vue3哦!快来看~
- Here is a package that may help you if you want to use over Vue3.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue-socket.io.