Reactjs 道具功能错误“;不是一个函数;反应
我从“react google login”中获得了用户的google登录信息 我想用react redux存储这些信息 登录成功时,我调用“ResponseLogle”函数 在此函数中,使用(react google login)的响应创建结构 并将此结构保持为组件状态 并调用模块的函数“onChangeUser”来更改存储的状态 但当调用“ResponseLogle”时,会检测到错误 原因是容器中的道具未定义。。组件中Reactjs 道具功能错误“;不是一个函数;反应,reactjs,react-redux,react-google-login,Reactjs,React Redux,React Google Login,我从“react google login”中获得了用户的google登录信息 我想用react redux存储这些信息 登录成功时,我调用“ResponseLogle”函数 在此函数中,使用(react google login)的响应创建结构 并将此结构保持为组件状态 并调用模块的函数“onChangeUser”来更改存储的状态 但当调用“ResponseLogle”时,会检测到错误 原因是容器中的道具未定义。。组件中 const GoogleLoginButton = ({ onChan
const GoogleLoginButton = ({ onChangeUser }) => {
const [user, setUser] = useState(null);
const responseGoogle = response => {
const newUser = {
googleId: response.profileObj.googleId,
username: response.profileObj.name,
token: response.accessToken,
}
setUser(newUser);
onChangeUser(newUser);
};
const responseError = response => {
console.log(response);
}
return (
<GoogleLogin
clientId={CLIENTKEY}
onSuccess={responseGoogle}
onFailure={responseError}
/>
);
export default GoogleLoginButton;
这是一个组件
const GoogleLoginButton = ({ onChangeUser }) => {
const [user, setUser] = useState(null);
const responseGoogle = response => {
const newUser = {
googleId: response.profileObj.googleId,
username: response.profileObj.name,
token: response.accessToken,
}
setUser(newUser);
onChangeUser(newUser);
};
const responseError = response => {
console.log(response);
}
return (
<GoogleLogin
clientId={CLIENTKEY}
onSuccess={responseGoogle}
onFailure={responseError}
/>
);
export default GoogleLoginButton;
const CHANGE_FIELD = 'auth/CHANGE_FIELD';
const INITIALIZE_FORM = 'auth/INITIALIZE_FORM'
export const changeField = createAction(
CHANGE_FIELD,
({ key, value }) => ({ key, value })
);
export const initializeForm = createAction(
INITIALIZE_FORM,
user => user
)
const initialState = {
user: {
googleId: '',
username: '',
token: '',
}
};
const auth = handleActions(
{
[CHANGE_FIELD]: (state, { payload: { key, value } }) => ({
...state,
[key]: value,
}),
[INITIALIZE_FORM]: (state, { payload: user }) => ({
...state,
[user]: initialState[user]
})
},
initialState
);
export default auth;