reactjs 如何更新一个对象而不在Supabase中替换它?

6jjcrrmo  于 2023-02-12  发布在  React
关注(0)|答案(1)|浏览(89)

我有一个函数updateHistory

export const updateHistory = async (id, historyObj) => {
  const { data, error } = await supabase
    .from("property")
    .update({ history: historyObj })
    .eq("id", id);

  return data;
};

我是这样称呼它的:

useEffect(() => {
    let tempHistory = {
      column: column,
      field: name,
      previousValue: `${defaultValue}`,
      updatedValue: `${changedValue}`,
      time: new Date().toISOString(),
    };
    let newHistory = [tempHistory, ...history];
    setHistory(newHistory);
    updateHistory(propertyId, newHistory);
  }, [changedValue]);

目标是拥有一个包含所有先前值的日志历史记录,当前值是对象数组中的第一个元素。问题是,使用此代码,它只是将历史记录列中的数据替换为当前值,而不是添加到该列并保留先前值。
我不知道为什么我目前的代码不工作。
先谢了。

cyvaqqii

cyvaqqii1#

我想通了。这不是Supabase的问题。history在某些点上为空,这将它以前的值替换为空。

相关问题