使用'_'React/React-native为函数名添加前缀是什么意思?

Nas*_*ail 17 javascript reactjs react-native

因此按照惯例,因为JavaScript没有访问修饰符,所以我必须在"私有"函数名前加下划线(_).但我在这里有点困惑,比如说我正在用C++或Java编写一个类,它有两个执行内部计算的函数,第二个函数返回内部计算的结果.

所以,我有这两个功能

performInternalSecretCalculation();
getResult();
Run Code Online (Sandbox Code Playgroud)

performInternalSecretCalculation()被认为是私人的,因为我不希望其他类担心如果处理计算,因此我不导出此函数.虽然getResult()是其他类将使用的东西,因此我公开并导出此功能.

但是在React类的情况下,我没有导出任何函数,所有在react类中定义的函数都在其中使用.那么差异化是什么?我什么时候应该在函数名称之前加上下划线?

pur*_*rii 21

它只是一个命名约定,一些开发人员使用内部方法将它们与反应的生命周期方法分开.

生命周期方法

  • constructor
  • getChildContext
  • componentWillMount
  • componentDidMount
  • componentWillReceiveProps
  • shouldComponentUpdate
  • componentWillUpdate
  • componentDidUpdate
  • componentWillUnmount

列表借用AirBnB样式指南.

Airbnb React/JSX风格指南

我更喜欢AirBnB风格指南.他们建议不要使用下划线前缀.我强制改为方法的清洁顺序.

  • React生命周期方法只是极少数,它们大多不会使组件代码膨胀很多.我也不喜欢下划线,用与任何其他方法相同的方式命名它们.为了便于阅读,我按字母顺序保留这些方法. (3认同)