В чем смысл префикса имен функций с помощью "_" React/React-native?
Итак, согласно соглашению, поскольку JavaScript не имеет модификаторов доступа, я должен префикс "private" имен функций с подчеркиванием (_). Но я немного запутался здесь, говорю, что я пишу класс на С++ или Java, который имеет две функции, которые выполняют внутренние вычисления, а второй - возвращает результат этого внутреннего вычисления.
Итак, у меня есть эти две функции
performInternalSecretCalculation();
getResult();
performInternalSecretCalculation()
должен быть закрытым, так как я не хочу, чтобы другие классы беспокоились о том, как класс обрабатывает вычисления и, следовательно, я не экспортирую эту функцию. В то время как getResult()
- это то, что будет использоваться другими классами, и, следовательно, я делаю его общедоступным и экспортирую эту функцию.
Но в случае классов React я не экспортирую никаких функций, все функции, определенные внутри класса реакции, используются внутри него. Итак, что такое дифференциатор? Когда я должен префикс подчеркивания перед именем функции?
Ответы
Ответ 1
Это просто соглашение об именах, используемое некоторыми разработчиками для внутренних методов, чтобы отделить их от методов жизненного цикла.
Методы жизненного цикла
- Конструктор
- getChildContext
- componentWillMount
- componentDidMount
- componentWillReceiveProps
- shouldComponentUpdate
- componentWillUpdate
- componentDidUpdate
- componentWillUnmount
Список заимствован из Руководство по стилю AirBnB.
Руководство по стилю Airbnb React/JSX
Я предпочитаю Руководство по стилю из AirBnB. Они предлагают не использовать префикс подчеркивания.
Я применяю вместо этого чистый порядок для методов.