We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Components
Routes
Config
src/ components/ containers/
// bad import Footer from './Footer/Footer'; // bad import Footer from './Footer/index'; // good import Footer from './Footer';
// bad function TargetComponent({ url, options }) { const [data, setData] = useState([]); useEffect(async ()=>{ cosnt data = await fetch(url, options); setData(data) }, []) function handleOnUpdateData (nextOptions) { cosnt data = await fetch(url, nextOptions); setData(data) } return <OtherComponent data={data} onChange={handleOnUpdateData} /> }
// best // 将状态逻辑抽离至 hooks 文件夹内 import useFetchData from 'src/hooks/useFetchData'; function TargetComponent({ url, options }) { // 复用 state 逻辑, 是 hooks 最重要的意义 const [data, updateData] = useFetchData(url, options); return <OtherComponent data={data} onChange={updateData} />; }
PureComponent
camelCase
const Artists = React.lazy(() => import('./Artists')); function MyComponent() { return ( <div> <Suspense fallback={<div>Loading...</div>}> <Artists /> </Suspense> </div> ); }
import React, { useState, useEffect, useCallback } from 'react'; function fixDataToPlan(data) {} function TargetComponent({ userInfo }) { const [loading, setLoading] = useState(false); useEffects(fn, [])getPhotops useEffects(fn, [userInfo]) useEffects(fn) // 除了 handle 函数, 其他函数都不要在组件内声明, 请声明在 [3. 内部函数声明] 中 // 因为函数组件每次重新执行, 内部函数都会重新声明, 所以要减少不必要的内部函数声明 // function fixDataToPlan(){} // 6.4 被事件绑定的函数, 使用 handle 开头 function handleOnClick(){} return <div>example</div> } // 7声明 propTypes TargetComponent.propTypes = { ... }; // 声明 mapStateToProps 函数 function mapStateToProps (state) {} // 声明 mapDispatchToProps 函数 function mapDispatchToProps (dispatch) {} // 导出 default 对象 export default TargetComponent; // 导出 default 对象, 如果需要使用 HOC 处理组件, 请直接返回处理之后的组件 export default connect(mapStateToProps, mapDispatchToProps)(TargetComponent);
The text was updated successfully, but these errors were encountered:
No branches or pull requests
项目
Components
Routes
Config
组件
Smart 和 Dumb 组件分开到两个不同的目录,不再在 Dumb 组件内部进行 connect,在 src/ 目录下新建两个文件夹 components/ 和 containers/:
编码
PureComponent
camelCase
参考链接
The text was updated successfully, but these errors were encountered: