问题描述
我有一个组件变量声明,并且useEffect和useReducer看起来像这样
const editItemData =
props.location && props.location.query && props.location.query.itemData
? props.location.query.itemData
: '';
const edit_item_meetup1 =
editItemData && editItemData.s_dm_meetup_add1
? editItemData.s_dm_meetup_add1
: '';
const edit_item_meetup2 = editItemData
? editItemData.s_dm_meetup_add2
? editItemData.s_dm_meetup_add2
: ''
: '';
const edit_category_id =
editItemData &&
editItemData.oc_t_category &&
editItemData.oc_t_category.pk_i_id
? editItemData.oc_t_category.pk_i_id
: '';
const edit_item_price =
editItemData && editItemData.i_price ? editItemData.i_price : '';
const [userInput,setUserInput] = useReducer(
(state,newState) => ({...state,...newState}),{
s_category: isFromEdit ? edit_category_id : '',fk_i_category_id: isFromEdit ? edit_category_id : '',i_price: isFromEdit ? edit_item_price / 1000000 : '',s_title: isFromEdit ? edit_item_title : '',item_condition: isFromEdit ? edit_item_condition : '',formIsComplete: false,deal_method_meetup: isFromEdit ? edit_item_meetup1 : '',deal_method_shipped: isFromEdit ? edit_item_shipped_details : '',s_dm_shipped_details: isFromEdit ? edit_item_shipped_details : '',s_dm_meetup_add1: isFromEdit ? edit_item_meetup1 : '',s_dm_meetup_add2: isFromEdit ? edit_item_meetup2 : '',totalLocation: isFromEdit
? edit_item_meetup1
? edit_item_meetup2
? 2
: 1
: 0
: '',s_description: isFromEdit ? edit_item_description : '',submitItemDetails: [],itemLink: '',youtube_link: isFromEdit ? yt_link_final : '',boost: '',taDetails: [],hlDetails: [],item_id: isFromEdit ? edit_item_id : '',subBoost: 0,boostTotal: 0,boostAppliedTotal: 0,highlight: '',subHighlight: 0,shippingDetails: '',highlightTotal: 0,meetupAddnotesAddress1: isFromEdit ? edit_item_meetup1_notes : '',meetupAddnotesAddress2: isFromEdit ? edit_item_meetup2_notes : '',error: {
name: '',price: '',description: '',image: '',item_condition: '',category: '',meetup: '',yt_link: '',},raw_address: '',captcha: '',inputError: '',custom_fields: {},);
useEffect(() => {
window.scrollTo(0,0);
getServices(true);
if (userId && !isFromEdit) {
props.meLoad({id: userId});
}
if (isFromEdit) {
setMainFunc({['submitLoading']: true});
edit_user_purchases.map((boost) => {
if (boost.type === 'highlight' || boost.type === 'top_ad') {
const exp_date = moment(boost.created_at).add(boost.service.days,'d');
if (moment().isSameOrBefore(exp_date)) {
activeBoostArr.push(boost);
}
}
});
}
},[userId,isFromEdit]);
useEffect(() => {
setUserInput({['subBoost']: dPremiumId[0]});
if (activeBoostArr.length !== 0) {
setTimeout(() => {
activeBoostArr.map((boost) => {
if (boost.type === 'top_ad') {
setUserInput({
['subBoost']: boost.service.id,['taDetails']: boost.service,});
setMainFunc({['premiumClick']: true});
} else {
setUserInput({
['subHighlight']: boost.service.id,['hlDetails']: boost.service,});
setMainFunc({['highlightClick']: true});
}
});
},1500);
}
},[]);
试图将useReducer移到上部,错误消息消失了,但是在重新加载几次后错误仍然存在。 我不知道我的错在哪里,并且此错误不断显示,有人可以在这里帮助我吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)