反应功能组件不渲染

时间:2020-05-16 15:07:50

标签: javascript reactjs

如果函数getConjugation不返回错误,则函数validate应该返回元素,有效输入将传递给getConjugation,但它在浏览器中什么都不呈现

import React from 'react'
import {getConjugation} from 'german-verbs'
import GermanVerbsDict from 'german-verbs-dict'

export default ({word})=>{
    const renderVerbs =(w)=>{

        return (

    }

    const validate = (w) =>{
        try{
            return(
            <ul>
               <li>{w.toLowerCase()}</li>
               <li>{getConjugation(GermanVerbsDict, "haben",'PRASENS', 2,'S' )}</li>
               <li>{getConjugation(GermanVerbsDict,"haben",'PRATERITUM', 1,'S' )}</li>
               <li>{getConjugation(GermanVerbsDict, "haben",'PERFEKT', 1,'S', "HABEN")}</li>
            </ul>)
        }catch {return false}
    }
    return (
        <div className="verb">{validate(word)}</div>


    )
}

1 个答案:

答案 0 :(得分:0)

您可以尝试三件事

  1. 完成renderVerbs函数,因为现在缺少括号。
  2. 这部分代码似乎已导出。您是否已将此组件添加到预期的位置?
  3. 检查是否实际上调用了validate函数。这就是我要做的。
const validate = (w) =>{
            console.log("the word is: ", w);
            return(
            <ul>
               <li>{w.toLowerCase()}</li>
               //if your function return an array
               YourArray.map(elem => (
                  <li>{elem}</li>
               ))
            </ul>)
        }
    }
    return (
        <div className="verb">{validate(word)}</div>
    )

如果确实有效,请一次添加一个额外的块代码,直到涉及到此处提到的原始代码为止。希望您可以发现在此过程中哪个部分有问题。祝你好运。