আমার একটি প্রতিক্রিয়া / রিডাক্স অ্যাপ্লিকেশন রয়েছে যা একটি এপিআই সার্ভার থেকে একটি টোকেন আনে। ব্যবহারকারীর অনুমোদনের পরে আমি সমস্ত অক্ষর অনুরোধগুলিকে অ্যাকশনের প্রতিটি অনুরোধের সাথে ম্যানুয়ালি এটি সংযুক্ত না করে অনুমোদনের শিরোনাম হিসাবে টোকেন তৈরি করতে চাই। আমি প্রতিক্রিয়া / রিডুএক্সে মোটামুটি নতুন এবং সর্বোত্তম পদ্ধতির বিষয়ে নিশ্চিত নই এবং গুগলে কোনও মানের হিট খুঁজে পাচ্ছি না।
এখানে আমার রিডাক্স সেটআপ:
// actions.js
import axios from 'axios';
export function loginUser(props) {
const url = `https://api.mydomain.com/login/`;
const { email, password } = props;
const request = axios.post(url, { email, password });
return {
type: LOGIN_USER,
payload: request
};
}
export function fetchPages() {
/* here is where I'd like the header to be attached automatically if the user
has logged in */
const request = axios.get(PAGES_URL);
return {
type: FETCH_PAGES,
payload: request
};
}
// reducers.js
const initialState = {
isAuthenticated: false,
token: null
};
export default (state = initialState, action) => {
switch(action.type) {
case LOGIN_USER:
// here is where I believe I should be attaching the header to all axios requests.
return {
token: action.payload.data.key,
isAuthenticated: true
};
case LOGOUT_USER:
// i would remove the header from all axios requests here.
return initialState;
default:
return state;
}
}
আমার টোকেনটি হ'ল রিডেক্স স্টোরে সংরক্ষণ করা হয়েছে state.session.token
।
কীভাবে এগিয়ে যাব আমি কিছুটা হারিয়েছি lost আমি আমার রুট ডিরেক্টরিতে কোনও ফাইলের অক্ষর তৈরির চেষ্টা করেছি এবং নোড_মডিউলগুলির পরিবর্তে আপডেট / আমদানি করেছি কিন্তু রাষ্ট্র পরিবর্তন হওয়ার সাথে সাথে এটি শিরোনাম সংযুক্ত করছে না। কোন প্রতিক্রিয়া / ধারণা অনেক প্রশংসা করা হয়, ধন্যবাদ।