React native 如何使用axios有条件地更新数据字段
我有一个屏幕,当用户有按钮改变他的名字,或电话 我有一个功能,可以处理如果用户点击更改姓名或电话 现在我想有条件地实现一个PUTreq,它只更改用户单击的字段, 例如,看看我到底想做什么:(看看if) 我怎样才能在有条件的情况下做到这一点React native 如何使用axios有条件地更新数据字段,react-native,axios,response,React Native,Axios,Response,我有一个屏幕,当用户有按钮改变他的名字,或电话 我有一个功能,可以处理如果用户点击更改姓名或电话 现在我想有条件地实现一个PUTreq,它只更改用户单击的字段, 例如,看看我到底想做什么:(看看if) 我怎样才能在有条件的情况下做到这一点 const updateUser = dispatch => async (userId, param, value, token) => { dispatch({ type: "loading", payload: true
const updateUser = dispatch => async (userId, param, value, token) => {
dispatch({ type: "loading", payload: true });
try {
const res = await indexApi.put(
`/user/${userId}`,
{
if(param==="name") name: value,///////////////here
if(param==="phone")phone: value ////////////here
},
{
headers: {
Authorization: `Bearer ${token}`,
},
}
);
注意我也尝试过:
name: (param===name) ? value: res.data.user.name
phone: (param===phone) ? value: res.data.user.phone
我的意思是从服务器获取数据,但服务器不返回我并向我发送未定义的注释res.data.user.name UNDEFINED。。。。。。。。。。。。。。。。
如果要使用指定的
属性名执行对象,则在func完成或其他操作之前获取它可能是不够的,请尝试以下操作:
{
[param]: value
}
在括号中,变量param
的值在您的情况下变成'name'
或'phone'
const updateUser = dispatch => async (userId, param, value, token) => {
dispatch({ type: "loading", payload: true });
try {
const res = await indexApi.put(
`/user/${userId}`,
{
[param]: value
},
{
headers: {
Authorization: `Bearer ${token}`,
},
}
);
如果要使用指定的属性名创建对象,请尝试以下操作:
{
[param]: value
}
在括号中,变量param
的值在您的情况下变成'name'
或'phone'
const updateUser = dispatch => async (userId, param, value, token) => {
dispatch({ type: "loading", payload: true });
try {
const res = await indexApi.put(
`/user/${userId}`,
{
[param]: value
},
{
headers: {
Authorization: `Bearer ${token}`,
},
}
);
您是否尝试在没有if语句的情况下仅对一个参数进行控制台操作?响应是否如您所期望的那样正确?但我不知道用户是否单击了名称或电话,因此我需要动态地了解它,以便只确认默认值,就像他们看到的任何一个一样。响应中是否有任何问题?此处不需要密码确认,问题是如何有条件地仅发送姓名或电话您是否尝试在没有if语句的情况下仅为一个参数进行控制台操作?响应是否如您所期望的那样正确?但我不知道用户是否单击了名称或电话,因此我需要动态地了解它,以便只确认默认值,就像他们看到的任何一个一样。响应中是否有任何问题?此处不需要密码确认,问题是如何有条件地只发送姓名或电话,以及如何声明参数?用绳子?Const param=“name”例如?是的,变量值将是参数名称以及如何声明参数?用绳子?Const param=“name”例如?是的,变量值将是参数名称