Repository: ant-design
Issue: request a consistent rule for naming `render` functions
Labels: help wanted,Inactive,improvement

### What problem does this feature solve?

Is there a consistent rule for naming `render` functions?

Some components have properties named `renderXxx` (e.g. `Tabs` has [`renderTabBar`](https://ant.design/components/tabs#api) and others have ones named `xxxRender`(e.g. `DatePicker` has [`dateRender` or `cellRender`](https://ant.design/components/date-picker#common-api)) for render custom nodes.
I think creating a consistent rule for naming is good for both developers and contributors.

I think `renderXxx` is better because setting action verbs at the begging makes the purpose of the properties clearer.
Also,the [`react/no-unstable-nested-components`](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/no-unstable-nested-components.md) eslint rule has a special rule for `renderXxx` properties.

> By default component creation is allowed inside component props only if prop name starts with render

---

Here is a list of the components which have `renderXxx` or `xxxRender` properties (except just `render` properties).

- `renderXxx`
  - [`DatePicker` - `renderExtraFooter`](https://ant.design/components/date-picker#api)
  - [`TimePicker` - `renderExtraFooter`](https://ant.design/components/time-picker#api)
  - [`List` - `renderItem`](https://ant.design/components/list#api)
  - [`Table` - `renderCell`](https://ant.design/components/table#api)
  - [`Tabs` - `renderTabBar`](https://ant.design/components/tabs#api)
- `xxxRender`
  - [`Breadcrumb` - `itemRender`](https://ant.design/components/breadcrumb#api)
  - [`Dropdown` - `dropdownRender`, `buttonsRender`](https://ant.design/components/dropdown#api)
  - [`Menu` - `forceSubMenuRender`](https://ant.design/components/menu#api)
  - [`Pagination` - `itemRender`](https://ant.design/components/pagination#api)
  - [`Cascader ` - `displayRender`, `tagRender`, `dropdownRender`](https://ant.design/components/cascader#api)
  - [`ColorPicker` - `panelRender`](https://ant.design/components/color-picker#api)
  - [`DatePicker` - `dateRender`, `cellRender`, `panelRender`](https://ant.design/components/date-picker#api)
  - [`Input` - `iconRender`](https://ant.design/components/input#api)
  - [`Select` - `dropdownRender`, `optionRender`, `tagRender`](https://ant.design/components/select#api)
  - [`TimePicker` - `cellRender`](https://ant.design/components/time-picker#api)
  - [`TreeSelect` - `dropdownRender`, `tagRender`](https://ant.design/components/tree-select#api)
  - [`Upload` - `iconRender`, `itemRender`](https://ant.design/components/upload#api)
  - [`Calendar` - `dateCellRender`, `dateFullCellRender`, `headerRender`, `monthCellRender`, `monthFullCellRender`](https://ant.design/components/calendar#api)
  - [`Table` - `expandedRowRender`](https://ant.design/components/table#api)
  - [`Tour` - `indicatorsRender`](https://ant.design/components/tour#api)
  - [`Tree` - `titleRender`](https://ant.design/components/tree#api)
  - [`Modal` - `modalRender`](https://ant.design/components/modal#api)



### What does the proposed API look like?

rename all the `xxxRender` properties into `renderXxx`

<!-- generated by ant-design-issue-helper. DO NOT REMOVE -->