Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 收到非布尔属性的'true'_Javascript_Reactjs - Fatal编程技术网

Javascript 收到非布尔属性的'true'

Javascript 收到非布尔属性的'true',javascript,reactjs,Javascript,Reactjs,我在控制台遇到了这个问题, 我试图重构我的代码,但有两件事失败了: 当我没有传入回调函数时,链接路由不起作用, 我也有这个控制台错误 因此,问题是: 1.如何修复控制台错误 “精确到”模板字符串有什么问题?不更改url 组成部分: const { NavLink } = ReactRouterDOM; export function SingleNavLink(props){ const {url,name,onCategoryChange}=props

我在控制台遇到了这个问题, 我试图重构我的代码,但有两件事失败了:

当我没有传入回调函数时,链接路由不起作用, 我也有这个控制台错误

因此,问题是:

1.如何修复控制台错误

  • “精确到”模板字符串有什么问题?不更改url
  • 组成部分:

    const {  NavLink } = ReactRouterDOM;
        export function SingleNavLink(props){
            const {url,name,onCategoryChange}=props
            const linkorbutton=(onCategoryChange)?`exact to=${url}`:`onClick={onCategoryChange(name.toLowerCase())}`
            return(
                <NavLink  linkorbutton>
                  {name}
                </NavLink>
            )
    
    const{NavLink}=ReactRouterDOM;
    导出函数SingleNavLink(道具){
    const{url,name,onCategoryChange}=props
    const linkorbutton=(onCategoryChange)?`exact to=${url}`:`onClick={onCategoryChange(name.toLowerCase())}`
    返回(
    {name}
    )
    
    onClick必须是函数。此外,onClick的语法不正确,因为模板字符串使其成为字符串,而不是

    最好的解决方案是根据条件将linkProps存储为对象,并使用扩展语法将其传递给
    Navlink

    const {  NavLink } = ReactRouterDOM;
    export function SingleNavLink(props){
        const {url,name,onCategoryChange}=props
        const linkProps= onCategoryChange ? {exact: true, to: url} : { onClick: () => {onCategoryChange(name.toLowerCase())}}
        return(
            <NavLink  {...linkProps}>
              {name}
            </NavLink>
        )
    
    const{NavLink}=ReactRouterDOM;
    导出函数SingleNavLink(道具){
    const{url,name,onCategoryChange}=props
    const linkProps=onCategoryChange?{exact:true,to:url}:{onClick:()=>{onCategoryChange(name.toLowerCase())}
    返回(
    {name}
    )
    
    您试图将字符串视为JSX标记的道具。您需要创建一个哈希和解构,例如,
    {…dynamicrops}
    。此外,没有值的道具只是
    道具={true}的简写形式
    。你能给出一个书面的例子吗?代码不是很长,不幸的是,我对哈希一无所知。这能回答你的问题吗?