1

I'm having trouble moving from using fetch to using fetch within multiple dispatches. So this code works:

export const checkLoginCredentials = (username, password) => {
let data = {username: username, password: password}
fetch('/authenticate', {
    body: JSON.stringify(data),
    headers: {
      'Content-Type': 'application/json'
    },
    method: 'POST'
  }).then(response => response.json()).then(responseJson => console.log(responseJson))}

Which means when I hit this function I see an authentication token in my console. This code is not working:

export const checkLoginCredentials = (username, password) => {
return (dispatch) => {
dispatch({ type: 'FIND_USER'});
let data = {username: username, password: password}
return fetch('/authenticate', {
    body: JSON.stringify(data),
    headers: {
      'Content-Type': 'application/json'
    },
    method: 'POST'
  }).then(response => response.json()).then(responseJson => dispatch({ type: 'AUTHENTICATE', payload: responseJson }))}}

In my store I have:

import { combineReducers, createStore, applyMiddleware, compose } from 'redux'
import userReducer from './userReducer'
import gameReducer from './gameReducer'
import thunk from 'redux-thunk';


// we wrap store in a function for testing purposes
const composeEnhancers =
typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
// Specify extension’s options like name, actionsBlacklist, 
actionsCreators, serialize...
}) : compose;

const enhancer = composeEnhancers(
applyMiddleware(thunk),
  // other store enhancers if any
);
const rootReducer = combineReducers({
  user: userReducer,
  game: gameReducer})

 export const configureStore = () => {
return createStore(rootReducer, enhancer);}

Any ideas would be appreciated! ps. I am using isomorphic-fetch

2

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.