关于传参数

来源:5-5 用useContext存储全局用户信息

FanYiyang

2021-07-08


export const AuthProvider = (children: { children: ReactNode }) => {
  // point free
  const [user, setUser] = useState<Users | null>(null)

  const login = (form: LoginUser) => auth.login(form).then(setUser)

  return <AuthContext.Provider value={{ user, login }} children={children} />
}

请问下老师 AuthProvider = (children: { children: ReactNode })这里的children必须要写成这种对象的模式吗?请问下可否写成AuthProvider = (children: ReactNode) =>这种形式呢?第一种写法是对代码来说是有什么好处吗?请老师解释一下,谢谢了

写回答

1回答

Nolan

2021-07-09

代码写错了,应该是这样:

export const AuthProvider = ({ children }: { children: ReactNode }) => {


AuthProvider是一个组件,children是它的一个prop,prop都是要放在对象里传的,就好像 

const A = ({name}) => <div>{name}</div>

不可能写

const A = (name) => <div>{name}</div> 

1
0

React17+Hook+TS4 优质实践,仿 Jira 企业级项目

解锁 React17 高阶用法,轻松应对大型复杂长周期项目

2691 学习 · 1236 问题

查看课程