标签: rest-parameters

8
推荐指数
2
解决办法
350
查看次数

js 数组使用解构/剩余语法按值删除元素

对我来说似乎很直观,但事实证明事情并不是这样的!目标是删除传递的元素(如果存在)并返回其余元素。我知道有很多方法可以实现这一目标 - 包括filterconst rest = selection.filter(i => i !== item)- 但是,正如我所说,我认为这种方法会是一件事 - 因为它是为了objects/key:value pairs.

if (selection.includes(item)) {
  // remove if available
  const [item, ...rest] = selection;
  
  setSelection(rest)
} else {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

工作方式是将的元素destructuring分配给 item 并将其余项目分配给- 一个数组。这是正确的——至少从我的理解来看,事情就是这样运作的。firstselectionrest

是否可以使用解构赋值从数组中提取特定项目并将其余元素解压到变量中?

javascript arrays destructuring rest-parameters

5
推荐指数
1
解决办法
4995
查看次数

属性“className”在类型“{ props:ReactNode;”上不存在 }'

我目前正在将 Next.js 项目从 JavaScript 迁移到 TypeScript,但遇到了错误:Property 'className' does not exist on type '{ props: ReactNode; }'。在 Javascript 中,我可以从 props 中提取 className,但打字稿找不到类型。这是代码:

import { useRouter } from 'next/router'
import Link from 'next/link'
import { ReactNode } from 'react'

export { NavLink }

NavLink.defaultProps = {
  exact: false,
}

interface NavLinkProps {
  href: string
  exact?: boolean
  children: ReactNode
  props: ReactNode
}

function NavLink({ href, exact, children, ...props }: NavLinkProps) {
  const { pathname } = useRouter()
  const isActive = exact …
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs next.js rest-parameters

5
推荐指数
1
解决办法
1万
查看次数