簡體   English   中英

我想使用 useState 更改數組中對象的值

[英]I want to change the value of an object in array using useState

狀態中的語言。 數據是一個數組。
它包含語言和級別對象。

我想把參數的值放在狀態級別。
調用onClickUpdatelanguage過程時的語言。

interface Data {
  name: string;
  language: Language[];
}

interface Language {
  lang: Lang;
  level: Level;
}
interface Lang {
  id: name;
  name: string
}
interface Level {
  id: name;
  name: string
}

interface State {
  data: Data;
  text: string;
  modal: boolean
}

const Index: FC = () => {
  const [state, setState] = useState<State>({
    data: initialdata,
    text: '',
    modal: false,
  });


const onClickUpdateLanguage = (value: Level, updateStateId: number) => {
    const target = state.data.language.find((st) => {
      return st.language.id === updateStateId;
    });

};

您可以使用 setState 功能並映射當前狀態日期。 然后在必要時編輯數據。

setState({
    data: state.data.language.map(iState => {
      if(iState.language.id === updateStateId) {
          iState.language.level = value;
      }
      return iSate;
    })
});

我可能錯過了您想要准確更改哪個參數,但這應該會給您一些指導。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM