В React, когда мы используем состояние, мы пишем такой код:
const [abc, setAbc] = useState("")
В этом случае, почему «setAbc» начинается с «set», можно ли использовать какие-либо другие соглашения об именах? Например, updateAbc
Если возможно, постарайтесь предоставить справочные ссылки, чтобы узнать больше.





Это всего лишь соглашение об именах, которое вы можете нарушить и использовать любое имя, которое захотите. На стороне React нет никаких ограничений.
const [abc, setAbc] = useState("")
const [abc, justSet] = useState("")
const [abc, updateAbc] = useState("")
const [abc, change] = useState("")
const [abc, whatever] = useState("")
Вот как это описывают реагирующие документы:
Условно эту пару принято называть
const [something, setSomething]. Вы можете назвать это как угодно, но соглашения упрощают понимание в разных проектах.
По сути, это соглашение об именах, и чтобы интуитивно понять, «почему это просто соглашение об именах», нам нужно понять синтаксис.
Код, который вы предоставили
const [abc, setAbc] = useState("")
на самом деле использует концепцию деструктуризации массива (как также указано в официальной документации), приведенный выше вызов функции useState("") вернет массив длиной два:
["", f()]
Как вы можете видеть в возвращаемом массиве выше, первый элемент массива — это просто значение состояния, а второй элемент массива — это функция для обновления состояния. Итак, ваш код будет назначать abc с "" и setAbc с f(). Чтобы лучше это понять, мы можем даже использовать следующий синтаксис:
const abcState = useState("")
const abc = abcState[0]
const setAbc = abcState[1]
Как вы можете видеть в приведенном выше коде, технически это обычные переменные javascript, и вы можете назвать их так же, как вы называете обычную переменную javascript.
Каждый раз, когда ваш реагирующий компонент выполняет рендеринг, приведенный выше код будет выполняться снова, а при втором рендеринге он будет игнорировать начальное состояние (если оно было обновлено), и, таким образом, abc будет содержать следующее значение состояния.
useStateвозвращает массив с двумя значениями, вы можете назвать эти два значения как хотите. См. реакционный документ .