@mindaJalaj - может быть, - я все еще тестирую его с реальными сервисами - у меня это происходит с помощью axios - теперь с приведениями / действиями - у меня есть rootReducer - и он содержит дочерние редукторы прямо сейчас, теперь в КАЖДОМ из моих Избыточные формы - как раз там, где они есть - экспорт - есть значение "формы" - создать ли уникальное имя для КАЖДОЙ формы? - форма: 'regFrom' - форма: 'loginForm'

нь плохо знаком с редуксом и редукс-формой. После прохождения проверки форма отправляется следующим образом - но на этом этапе я хочу спрятать ответ пользователя для входа в систему с избыточным кодом, чтобы контролировать остальную часть рабочего процесса приложения -

 submit (values) {
    // creating the body of the request

    //console.log('values', values)

    const body = {
      request: {
        email: values.email,
        password: values.password
      }
    }

    const initialUser = { name: '' };
    const loggedin = false;


    // sending the object to the backend api
    fetch('/test-api/loginuser', {
      method: 'POST',
      mode: 'no-cors',
      header: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(body)
    }).then(function (response) {
      console.log('Response from fetch:', response)

      initialUser = response.user
      loggedin = true;

    }).catch(function (err) {
      console.log('An error has occurred -', err)
    })
    // setting the redux store to show the thank you page)
    // new code to store redux state with login authentication details?




    const store = createStore(combineForms({
      user: initialUser, //obj with ALL user data coming back from the response
      loggedin: loggedin, // true if logged in success -- this will control header menu appearance and redirection handling -- I want to store the "authentication session"
    }));

  }

Каков наилучший способ справиться с этим?

я могу создать что-то вроде следующего

Папка состояния - и скажите мне, если это необходимо или почему и т. Д.

//state/actions.js

export const SET_USER = 'SET_USER '
export const GET_USER_DATA = 'GET_USER_DATA '

//state/actionCreators.js

import { SET_LANGUAGE, GET_LANG_DATA } from './actions'

export function setUser (user) {
  return { type: SET_USER , user}
}

export function getUserData (userData) {
  return { type: GET_USER_DATA , userData }
}

//state/reducers.js

import { SET_USER , GET_USER_DATA } from './actions'

const DEFAULT_STATE = {
  user: '',
  userData: {}
}

const getUserData = (state, action) => {
  const newState = {}
  Object.assign(newState, state, {userData: action.userData})
  return newState
}

const setUser = (state, action) => {
  const newState = {}
  Object.assign(newState, state, {user: action.user})
  return newState
}

const rootReducer = (state = DEFAULT_STATE, action) => {
  switch (action.type) {
    case SET_USER :
      return setUser (state, action)
    case GET_USER_DATA :
      return getUserData(state, action)
    default:
      return state
  }
}

export default rootReducer

//state/store.js

import { createStore, compose, applyMiddleware } from 'redux'
import thunk from 'redux-thunk'
import rootReducer from './reducers'

const store = createStore(rootReducer, compose(
  applyMiddleware(thunk),
  typeof window === 'object' && typeof window.devToolsExtension !== 'undefined' ? window.devToolsExtension() : (f) => f
))

export default store

сейчас у меня есть папка редуктора - и сейчас она выглядит так.

//reducers/rootReducer.js

import { combineReducers } from 'redux'
import { reducer as formReducer } from 'redux-form'

const rootReducer = combineReducers({
  form: formReducer,
})

export default rootReducer

теперь - это только для общей формы - я могу сделать форму: formReducer для различных форм? форма: loginFormReduder - форма: registerFormReducer - форма: ForgotPasswordReducer

- это где я должен изменить, чтобы обрабатывать скрытые пользовательские данные?

import { combineReducers } from 'redux'
import { reducer as formReducer } from 'redux-form'
import isLoggedIn from './reducer_loggedIn'
import userData from './reducer_userData'

const rootReducer = combineReducers({
  userData: userData,
  isLoggedIn: isLoggedIn,
  form: formReducer
})

export default rootReducer

=============

// действия / action_isLoggedIn

export const ISLOGGEDIN = 'ISLOGGEDIN '

export function isLoggedIn (isLoggedIn) {
  // isLoggedIn is an ActionCreator that needs to return an action
  // an object with a type property
  return {
    type: ISLOGGEDIN ,
    payload: isLoggedIn 
  }
}

// редукторы / reducer_loggedIn

import { ISLOGGEDIN } from '../actions/action_isLoggedIn'

export function isLoggedIn (state = null, action) {
  switch (action.type) {
    case ISLOGGEDIN :
      return action.payload
  }
  return state
}

================= тогда один для userData?

// действия / action_userData

export const USERDATA = 'USERDATA'

export function userData (userData) {
  // userData is an ActionCreator that needs to return an action
  // an object with a type property
  return {
    type: USERDATA ,
    payload: userData
  }
}

// редукторы / reducer_userData

import { USERDATA } from '../actions/action_userData'

export function userData (state = null, action) {
  switch (action.type) {
    case USERDATA :
      return action.payload
  }
  return state
}

Ответы на вопрос(0)

Ваш ответ на вопрос