[英]Cannot read property 'error' of undefined
我已經嘗試了很多次更改變量名,甚至是從原始源代碼中復制的,但我仍然不明白為什么錯誤屬性顯示您聲明了錯誤屬性但從未使用過,但在我了解到它工作得很好的視頻中. 我什至無法訪問數據庫中的數據[出於檢查目的,我使用了console.log
語句,但仍然沒有得到我的數據]。 任何人,請幫助我為什么我有這個問題。
import React, { useState, useEffect } from 'react';
import Base from '../core/Base';
import { Link } from 'react-router-dom';
import { getCategories } from './helper/adminapicall';
import { isAuthenticated } from '../auth/helper/index';
const AddProduct = () => {
const { user, token } = isAuthenticated();
const [values, setValues] = useState({
name: '',
description: '',
price: '',
stock: '',
photo: '',
categories: [],
category: '',
loading: false,
error: '',
createdProduct: '',
getaRedirect: false,
formData: '',
});
const {
name,
description,
price,
stock,
categories,
category,
loading,
error,
createdProduct,
getaRedirect,
formData,
} = values;
const preload = () => {
getCategories().then((data) => {
console.log(data);
if (data.error) {
setValues({ ...values, error: data.error });
} else {
setValues({ ...values, categories: data, formData: new FormData() });
}
});
};
useEffect(() => {
preload();
}, []);
const createProductForm = () => (
<form>
<span>Post photo</span>
<div className='form-group'>
<label className='btn btn-block btn-success'>
<input
onChange={handleChange('photo')}
type='file'
name='photo'
accept='image'
placeholder='choose a file'
/>
</label>
</div>
<div className='form-group'>
<input
onChange={handleChange('name')}
name='photo'
className='form-control'
placeholder='Name'
value={name}
/>
</div>
<div className='form-group'>
<textarea
onChange={handleChange('description')}
name='photo'
className='form-control'
placeholder='Description'
value={description}
/>
</div>
<div className='form-group'>
<input
onChange={handleChange('price')}
type='number'
className='form-control'
placeholder='Price'
value={price}
/>
</div>
<div className='form-group'>
<select
onChange={handleChange('category')}
className='form-control'
placeholder='Category'>
<option>Select</option>
{categories &&
categories.map((cate, index) => (
<option key={index} value={cate._id}>
{cate.name}
</option>
))}
</select>
</div>
<div className='form-group'>
<input
onChange={handleChange('quantity')}
type='number'
className='form-control'
placeholder='Stock'
value={stock}
/>
</div>
<button
type='submit'
onClick={onSubmit}
className='btn btn-outline-success mb-3'>
Create Product
</button>
</form>
);
return (
<Base
title='Add a product here!'
description='Welcome to product creation section'
className='container bg-info p-4'>
<Link to='/admin/dashboard' className='btn btn-md btn-dark mb-3'>
Admin Home
</Link>
<div className='row bg-dark text-white rounded'>
<div className='col-md-8 offset-md-2'>{createProductForm()}</div>
</div>
</Base>
);
};
export default AddProduct;
getCategories().then(data => {
if (data && data.error) {
setValues({ ...values, error: data.error });
} else {
setValues({ ...values, categories: data, formData: new FormData() });
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.