アクション/ index.jsなぜ(undefined || false)式が正しく動作しませんでしたか?
export const fetchAppointment = (userId) => async dispatch =>{
const request = await axios.get(`${URL}/apis/appointments/${userId}`)
dispatch({type :types.FETCH_APPOINTMENT, payload:request.data})
}。
リデューサー/ reducer_appointment.js
import _ from 'lodash';
import * as types from '../actions/types';
export default function(state = null, action) {
switch (action.type) {
case types.FETCH_APPOINTMENT:
return _.mapKeys(action.payload, 'patients_id') || false
default:
return state;
}
}
app.js
renderAppointment(){
console.log(this.props.appointment)
switch(this.props.appointment){
case null:
console.log("null case")
return;
case false:
console.log("false case")
return <div>false case</div>;
default:
console.log("default case")
return <div>default case </div>;
}
}
私はデータまたは全くデータを取得するが、私はいつもデフォルトのケースを取得porblem。私は、データがないときに偽のケースが働くことを望む。
更新
私は_.mapKeysはundefinedを返し、結果を確認しました。だから私はこの投稿を疑問に思って投稿しました!
私を助けてください! _.mapKeys
は常に、少なくとも空のオブジェクトを返すので、私は推測している
'mapKeys'は何を返しますか?/@Krasimirの回答を見てください –
@palaѕn私は既定の状態の結果を得ることを上記で述べました。 – Diamond
データが返されない場合は未定義、データが返された場合は約束します。大丈夫ですか? – Diamond