“未捕获错误:钩子调用无效”在rails上进行React

wtzytmuj  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(252)

我在RubyonRails项目中使用react,发现了错误 Uncaught Error: Invalid hook call. 我用的是宝石 react-on-rails . 我的组件代码:

  1. const DimaSearch = () => {
  2. const [searchObject, setSearchObject] = useState("")
  3. useEffect(() => {
  4. fetch(
  5. `/api/v1/search_objects?search=${searchObject}`
  6. )
  7. .then((response) => response.json())
  8. .then((data) => {
  9. console.log(data);
  10. });
  11. }, [searchObject]);
  12. const handleOnChange = (event) => {
  13. event.preventDefault()
  14. setSearchObject(event.target.value)
  15. }
  16. return (
  17. <div className="container justify-content-center">
  18. <div className="row">
  19. <div className="col-md-8">
  20. <div className="input-group mb-3">
  21. <input
  22. type="text"
  23. className="form-control input-text"
  24. placeholder="Search..."
  25. onChange={(event) => handleOnChange(event)}
  26. />
  27. <div className="input-group-append">
  28. <button className="btn btn-outline-primary btn-lg" type="button">
  29. <i className="fa fa-search"></i>
  30. </button>
  31. </div>
  32. </div>
  33. </div>
  34. </div>
  35. </div>
  36. )
  37. }
  38. export default DimaSearch

index.html.slim,其中我导入组件:

  1. = react_component("DimaSearch")

我已经读过关于钩子用法的书,真的不知道该怎么办。

cl25kdpy

cl25kdpy1#

我的解决方案是在类组件中呈现函数组件,然后在视图中呈现最后一个。rails上的react似乎在视图上呈现功能组件方面存在缺陷。

相关问题