私はFacebookアプリを開発しており、私はAdonisJSとreact-redux-starter-kitという2つの異なるモジュールを使用しています。 、callback
が実行される"アクションに未定義の"タイプ "プロパティがない可能性があります。定数のスペルが間違っていますか?
import { CALL_API } from 'redux-api-middleware'
// ------------------------------------
// Constants
// ------------------------------------
export const ADD_LINKED_ACCOUNT = 'linkedAccount:add_linked_account'
export const ADD_LINKED_ACCOUNT_SUCCESS = 'linkedAccount:add_linked_account_success'
export const ADD_LINKED_ACCOUNT_FAIL = 'linkedAccount:add_linked_account_fail'
// ------------------------------------
// Actions
// ------------------------------------
export function addLinkedAccount ({ userId, name, accessToken, email }) {
return {
[CALL_API]: {
endpoint: '/api/linked-accounts',
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({ userId, name, accessToken, email }),
types: [ADD_LINKED_ACCOUNT, ADD_LINKED_ACCOUNT_SUCCESS, ADD_LINKED_ACCOUNT_FAIL]
}
}
}
export const actions = {
addLinkedAccount
}
// ------------------------------------
// Action Handlers
// ------------------------------------
const ACTION_HANDLERS = {
[ADD_LINKED_ACCOUNT]: state => ({
...state,
addingLinkedAccount: true
}),
[ADD_LINKED_ACCOUNT_SUCCESS]: (state, action) => ({
...state,
addingLinkedAccount: false,
addLinkedAccountSuccess: true,
linkedAccount: action.payload
}),
[ADD_LINKED_ACCOUNT_FAIL]: (state, action) => ({
...state,
addingLinkedAccount: false,
addLinkedAccountError: action.payload.response.error
})
}
// ------------------------------------
// Reducer
// ------------------------------------
const initialState = {
addingLinkedAccount: false,
addLinkedAccountSuccess: false,
linkedAccount: null,
addLinkedAccountError: {}
}
export default function linkedAccountReducer (state = initialState, action) {
const handler = ACTION_HANDLERS[action.type]
return handler ? handler(state, action) : state
}
:
callback = (r) => {
const { addLinkedAccount } = this.props
addLinkedAccount({
userId: r.userId,
name: r.name,
accessToken: r.accessToken,
email: r.email
})
}
全体アクションファイル:私は、コールバック関数が実行されたときに、ボタンにFacebookのログを使用してログインしたユーザーを保存するために、アクションを持っていますコンソールにエラーメッセージ:
Uncaught Error: Actions may not have an undefined "type" property. Have you misspelled a constant?