我试图更新输入文本的值后,HTTP POST响应是从服务器收到。PFB我的代码细节,让我知道我做错了什么,在这里或指导我通过任何演示。
import React, { Fragment, useState, changeState, setState, useEffect, useContext } from 'react';
import { AuthContext, Onboarding, Form, Message, useAPI } from 'components/lib';
import Axios from 'axios';
function Welcome() {
const context = useContext(AuthContext);
const postData = { user_id: context.user.user_id }
const [items, setItems] = useState({
business_name: "ABC"
});
useEffect( () => {
const singleData = async () => {
let response = await Axios.post( '/api/getbusiness', postData)
.then(res => {
setItems({
business_name: res.data.data.business_name
});
})
.catch((error) => {
console.log(error);
})
}
singleData()
},[])
return (
<Form
data={
business_name: {
label: 'Business Name',
type: 'text',
required: true,
errorMessage: 'Please enter business name',
value: `${ items.business_name }`
}
}}
url='/api/onboarding/1'
method='POST'
buttonText='Save'
callback={ res => {
console.log(res);
}}
/>
)
}
在页面加载时,输入显示值“ABC”,但在获得HTTP响应setItems
后,输入字段中的值不会更新。
1条答案
按热度按时间qv7cva1a1#
你有
res.data.data.business_name
,而它应该是res.data.business_name
。同样在你的表单input
中,你需要添加一个defaultValue={items.business_name}
属性来显示你的axios调用的响应。