Vuex

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. Vuex: Vue.js के लिए स्टेट मैनेजमेंट

Vuex, Vue.js एप्लीकेशन के लिए एक स्टेट मैनेजमेंट लाइब्रेरी है। यह बड़े और जटिल Vue.js एप्लीकेशनों में एप्लीकेशन स्टेट को मैनेज करने के लिए एक केंद्रीकृत स्टोर प्रदान करता है। Vue.js में डेटा फ्लो आमतौर पर एक-दिशात्मक होता है, लेकिन बड़े एप्लीकेशनों में कॉम्पोनेन्ट के बीच डेटा शेयर करना जटिल हो सकता है। Vuex इस समस्या को हल करने में मदद करता है।

Vuex की आवश्यकता क्यों है?

छोटे Vue.js एप्लीकेशनों में, कॉम्पोनेन्ट के बीच डेटा पास करने के लिए props और events का उपयोग करना पर्याप्त हो सकता है। हालाँकि, जैसे-जैसे एप्लीकेशन बड़ा होता जाता है, डेटा फ्लो जटिल होता जाता है और यह मुश्किल हो जाता है कि एप्लीकेशन स्टेट को ट्रैक किया जाए और डिबग किया जाए। Vuex निम्नलिखित लाभ प्रदान करता है:

  • **केंद्रीकृत स्टेट:** एप्लीकेशन स्टेट एक ही स्थान पर स्टोर किया जाता है, जिससे इसे समझना और डिबग करना आसान हो जाता है।
  • **अनुमानित स्टेट परिवर्तन:** स्टेट में परिवर्तन केवल mutations के माध्यम से किए जा सकते हैं, जिससे स्टेट परिवर्तन को ट्रैक करना और नियंत्रित करना आसान हो जाता है।
  • **रीयक्टिविटी:** Vuex स्टोर में स्टेट में परिवर्तन होने पर, सभी कॉम्पोनेन्ट जो उस स्टेट का उपयोग कर रहे हैं, स्वचालित रूप से अपडेट हो जाते हैं।
  • **डीबगिंग:** Vuex में एक शक्तिशाली devtools है जो आपको स्टेट परिवर्तन को ट्रैक करने, टाइम-ट्रैवल डिबगिंग करने और एप्लीकेशन के प्रदर्शन को मापने में मदद करता है।

Vuex की बुनियादी अवधारणाएं

Vuex निम्नलिखित चार मुख्य अवधारणाओं पर आधारित है:

  • **स्टेट (State):** यह एप्लीकेशन का डेटा है। यह एक ऑब्जेक्ट होता है जिसमें एप्लीकेशन के सभी स्टेट प्रॉपर्टीज़ शामिल होती हैं।
  • **म्यूटेशन्स (Mutations):** ये स्टेट को बदलने के लिए उपयोग किए जाने वाले फंक्शन हैं। म्यूटेशन्स को सिंक्रोनस होना चाहिए और उन्हें स्टेट को सीधे बदलना चाहिए।
  • **एक्शन (Actions):** ये म्यूटेशन्स को कमिट करने के लिए उपयोग किए जाने वाले फंक्शन हैं। एक्शन एसिंक्रोनस हो सकते हैं और वे Vuex स्टोर के बाहर से भी कॉल किए जा सकते हैं।
  • **गेटर्स (Getters):** ये स्टेट से डेटा प्राप्त करने के लिए उपयोग किए जाने वाले फंक्शन हैं। गेटर्स स्टेट को सीधे नहीं बदलते हैं।

स्टेट (State)

स्टेट एक एप्लीकेशन को रिप्रेजेंट करने वाला डेटा है। यह एक सिंगल ऑब्जेक्ट होता है जिसमें एप्लीकेशन के सभी स्टेट प्रॉपर्टीज़ शामिल होती हैं। उदाहरण के लिए, एक टू-डू एप्लीकेशन में स्टेट में टू-डू आइटम्स की एक सूची, एक सर्च टेक्स्ट और एक फिल्टर शामिल हो सकता है।

```javascript const state = {

 todos: [],
 searchText: ,
 filter: 'all'

} ```

म्यूटेशन्स (Mutations)

म्यूटेशन्स स्टेट को बदलने के लिए उपयोग किए जाने वाले फंक्शन हैं। म्यूटेशन्स को सिंक्रोनस होना चाहिए और उन्हें स्टेट को सीधे बदलना चाहिए। म्यूटेशन्स को एक प्रकार और एक हैंडलर फंक्शन होता है। प्रकार एक स्ट्रिंग होता है जो म्यूटेशन की पहचान करता है, और हैंडलर फंक्शन स्टेट को बदलने के लिए उपयोग किया जाने वाला फंक्शन होता है।

```javascript const mutations = {

 addTodo (state, todo) {
   state.todos.push(todo)
 },
 removeTodo (state, index) {
   state.todos.splice(index, 1)
 },
 setSearchText (state, searchText) {
   state.searchText = searchText
 },
 setFilter (state, filter) {
   state.filter = filter
 }

} ```

एक्शन (Actions)

एक्शन म्यूटेशन्स को कमिट करने के लिए उपयोग किए जाने वाले फंक्शन हैं। एक्शन एसिंक्रोनस हो सकते हैं और वे Vuex स्टोर के बाहर से भी कॉल किए जा सकते हैं। एक्शन को एक प्रकार और एक हैंडलर फंक्शन होता है। प्रकार एक स्ट्रिंग होता है जो एक्शन की पहचान करता है, और हैंडलर फंक्शन म्यूटेशन को कमिट करने के लिए उपयोग किया जाने वाला फंक्शन होता है।

```javascript const actions = {

 addTodo ({ commit }, todo) {
   // एसिंक्रोनस ऑपरेशन, जैसे कि एपीआई कॉल
   setTimeout(() => {
     commit('addTodo', todo)
   }, 1000)
 },
 removeTodo ({ commit }, index) {
   commit('removeTodo', index)
 }

} ```

गेटर्स (Getters)

गेटर्स स्टेट से डेटा प्राप्त करने के लिए उपयोग किए जाने वाले फंक्शन हैं। गेटर्स स्टेट को सीधे नहीं बदलते हैं। गेटर्स को एक प्रकार और एक हैंडलर फंक्शन होता है। प्रकार एक स्ट्रिंग होता है जो गेटर की पहचान करता है, और हैंडलर फंक्शन स्टेट से डेटा प्राप्त करने के लिए उपयोग किया जाने वाला फंक्शन होता है।

```javascript const getters = {

 filteredTodos (state) {
   let todos = state.todos
   if (state.filter === 'completed') {
     todos = todos.filter(todo => todo.completed)
   } else if (state.filter === 'incomplete') {
     todos = todos.filter(todo => !todo.completed)
   }
   return todos.filter(todo =>
     todo.text.toLowerCase().includes(state.searchText.toLowerCase())
   )
 }

} ```

Vuex स्टोर का उपयोग कैसे करें

Vuex स्टोर का उपयोग करने के लिए, आपको निम्नलिखित चरणों का पालन करना होगा:

1. Vuex लाइब्रेरी को इंस्टॉल करें। 2. एक Vuex स्टोर बनाएं। 3. स्टोर को अपने Vue कॉम्पोनेन्ट में इंपोर्ट करें। 4. स्टोर के स्टेट, म्यूटेशन्स, एक्शन और गेटर्स का उपयोग करें।

Vuex लाइब्रेरी को इंस्टॉल करना

Vuex लाइब्रेरी को इंस्टॉल करने के लिए, आप npm या yarn का उपयोग कर सकते हैं।

```bash npm install vuex --save ```

या

```bash yarn add vuex ```

एक Vuex स्टोर बनाना

एक Vuex स्टोर बनाने के लिए, आपको एक JavaScript फाइल बनानी होगी जिसमें स्टोर की स्टेट, म्यूटेशन्स, एक्शन और गेटर्स शामिल हों।

```javascript import Vue from 'vue' import Vuex from 'vuex'

Vue.use(Vuex)

const state = {

 todos: [],
 searchText: ,
 filter: 'all'

}

const mutations = {

 addTodo (state, todo) {
   state.todos.push(todo)
 },
 removeTodo (state, index) {
   state.todos.splice(index, 1)
 },
 setSearchText (state, searchText) {
   state.searchText = searchText
 },
 setFilter (state, filter) {
   state.filter = filter
 }

}

const actions = {

 addTodo ({ commit }, todo) {
   // एसिंक्रोनस ऑपरेशन, जैसे कि एपीआई कॉल
   setTimeout(() => {
     commit('addTodo', todo)
   }, 1000)
 },
 removeTodo ({ commit }, index) {
   commit('removeTodo', index)
 }

}

const getters = {

 filteredTodos (state) {
   let todos = state.todos
   if (state.filter === 'completed') {
     todos = todos.filter(todo => todo.completed)
   } else if (state.filter === 'incomplete') {
     todos = todos.filter(todo => !todo.completed)
   }
   return todos.filter(todo =>
     todo.text.toLowerCase().includes(state.searchText.toLowerCase())
   )
 }

}

export default new Vuex.Store({

 state,
 mutations,
 actions,
 getters

}) ```

स्टोर को अपने Vue कॉम्पोनेन्ट में इंपोर्ट करना

स्टोर को अपने Vue कॉम्पोनेन्ट में इंपोर्ट करने के लिए, आपको `import` स्टेटमेंट का उपयोग करना होगा।

```javascript import { mapState, mapActions } from 'vuex'

export default {

 computed: {
   ...mapState(['todos', 'searchText', 'filter'])
 },
 methods: {
   ...mapActions(['addTodo', 'removeTodo'])
 }

} ```

स्टोर के स्टेट, म्यूटेशन्स, एक्शन और गेटर्स का उपयोग करना

स्टोर के स्टेट, म्यूटेशन्स, एक्शन और गेटर्स का उपयोग करने के लिए, आप Vue कॉम्पोनेन्ट में `this.$store` ऑब्जेक्ट का उपयोग कर सकते हैं।

  • स्टेट तक पहुंचने के लिए, आप `this.$store.state` ऑब्जेक्ट का उपयोग कर सकते हैं।
  • म्यूटेशन्स को कमिट करने के लिए, आप `this.$store.commit` मेथड का उपयोग कर सकते हैं।
  • एक्शन को डिस्पैच करने के लिए, आप `this.$store.dispatch` मेथड का उपयोग कर सकते हैं।
  • गेटर्स तक पहुंचने के लिए, आप `this.$store.getters` ऑब्जेक्ट का उपयोग कर सकते हैं।

Vuex मॉड्यूल

बड़े एप्लीकेशनों में, Vuex स्टोर को मॉड्यूल में विभाजित करना उपयोगी हो सकता है। मॉड्यूल आपको स्टोर को छोटे, अधिक प्रबंधनीय भागों में विभाजित करने की अनुमति देते हैं। प्रत्येक मॉड्यूल का अपना स्टेट, म्यूटेशन्स, एक्शन और गेटर्स हो सकते हैं।

मॉड्यूल बनाना

एक मॉड्यूल बनाने के लिए, आपको एक JavaScript फाइल बनानी होगी जिसमें मॉड्यूल की स्टेट, म्यूटेशन्स, एक्शन और गेटर्स शामिल हों।

```javascript const moduleA = {

 state: {
   count: 0
 },
 mutations: {
   increment (state) {
     state.count++
   }
 },
 actions: {
   increment ({ commit }) {
     commit('increment')
   }
 },
 getters: {
   count (state) {
     return state.count
   }
 }

} ```

मॉड्यूल को स्टोर में जोड़ना

मॉड्यूल को स्टोर में जोड़ने के लिए, आपको `modules` विकल्प का उपयोग करना होगा।

```javascript import Vue from 'vue' import Vuex from 'vuex' import moduleA from './modules/moduleA'

Vue.use(Vuex)

export default new Vuex.Store({

 modules: {
   moduleA
 }

}) ```

मॉड्यूल का उपयोग करना

मॉड्यूल का उपयोग करने के लिए, आपको मॉड्यूल के नाम के साथ `this.$store` ऑब्जेक्ट का उपयोग करना होगा।

```javascript this.$store.state.moduleA.count this.$store.commit('moduleA/increment') this.$store.dispatch('moduleA/increment') this.$store.getters['moduleA/count'] ```

Vuex प्लगइन्स

Vuex प्लगइन्स आपको Vuex स्टोर की कार्यक्षमता को विस्तारित करने की अनुमति देते हैं। प्लगइन्स का उपयोग स्टेट को लॉग करने, स्टेट को बनाए रखने या अन्य कार्यक्षमता जोड़ने के लिए किया जा सकता है।

प्लगइन बनाना

एक प्लगइन बनाने के लिए, आपको एक फंक्शन बनाना होगा जो दो तर्क लेता है: स्टोर और विकल्प। फंक्शन स्टोर को संशोधित कर सकता है या अन्य कार्यक्षमता जोड़ सकता है।

```javascript export default function (store, options) {

 store.subscribe((mutation, state) => {
   console.log('Mutation:', mutation.type)
   console.log('State:', state)
 })

} ```

प्लगइन को स्टोर में जोड़ना

प्लगइन को स्टोर में जोड़ने के लिए, आपको `plugins` विकल्प का उपयोग करना होगा।

```javascript import Vue from 'vue' import Vuex from 'vuex' import myPlugin from './plugins/myPlugin'

Vue.use(Vuex)

export default new Vuex.Store({

 plugins: [myPlugin]

}) ```

Vuex और बाइनरी ऑप्शन

Vuex का उपयोग बाइनरी ऑप्शन एप्लीकेशन में स्टेट को मैनेज करने के लिए किया जा सकता है। उदाहरण के लिए, आप Vuex का उपयोग निम्नलिखित डेटा को स्टोर करने के लिए कर सकते हैं:

  • उपयोगकर्ता का बैलेंस
  • खुले ट्रेड
  • ट्रेड हिस्ट्री
  • मार्केट डेटा

Vuex का उपयोग करके, आप अपने बाइनरी ऑप्शन एप्लीकेशन के स्टेट को केंद्रीकृत और प्रबंधित कर सकते हैं। यह आपके एप्लीकेशन को डिबग करना और बनाए रखना आसान बना देगा।

तकनीकी विश्लेषण बाइनरी ऑप्शन ट्रेडिंग में एक महत्वपूर्ण पहलू है। वॉल्यूम विश्लेषण भी ट्रेडों को समझने और सफल होने के लिए महत्वपूर्ण है। जोखिम प्रबंधन और पूंजी प्रबंधन भी बाइनरी ऑप्शन ट्रेडिंग में महत्वपूर्ण भूमिका निभाते हैं। ट्रेडिंग रणनीतियां का उपयोग करके आप लाभप्रदता बढ़ा सकते हैं। मनी मैनेजमेंट, चार्ट पैटर्न, इंडिकेटर्स, कैंडलस्टिक पैटर्न, फाइबोनैचि रिट्रेसमेंट, मूविंग एवरेज, RSI, MACD, बोलिंगर बैंड, स्टोचैस्टिक ऑसिलेटर, सपोर्ट और रेजिस्टेंस, ट्रेडिंग मनोविज्ञान, बाजार की भावना, समाचार और इवेंट, आर्थिक कैलेंडर और जोखिम-इनाम अनुपात सभी बाइनरी ऑप्शन ट्रेडिंग में महत्वपूर्ण अवधारणाएं हैं।

Vue.js का उपयोग करके एक इंटरैक्टिव यूजर इंटरफेस बनाया जा सकता है जो Vuex के साथ मिलकर एक मजबूत बाइनरी ऑप्शन ट्रेडिंग एप्लीकेशन बना सकता है।

निष्कर्ष

Vuex Vue.js एप्लीकेशन के लिए एक शक्तिशाली स्टेट मैनेजमेंट लाइब्रेरी है। यह बड़े और जटिल एप्लीकेशनों में एप्लीकेशन स्टेट को मैनेज करने के लिए एक केंद्रीकृत स्टोर प्रदान करता है। Vuex का उपयोग करके, आप अपने एप्लीकेशन को डिबग करना और बनाए रखना आसान बना सकते हैं।

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер