React native 如何使用axios有条件地更新数据字段

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

我有一个屏幕,当用户有按钮改变他的名字,或电话

我有一个功能,可以处理如果用户点击更改姓名或电话

现在我想有条件地实现一个PUTreq,它只更改用户单击的字段, 例如,看看我到底想做什么:(看看if) 我怎样才能在有条件的情况下做到这一点

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”例如?是的,变量值将是参数名称