账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react组件嵌套怎么判断children是否有个一样的组件?
    37
    0
    children.name?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 狐仙不是妖 普通会员 1楼

      在React中,你可以使用useMemoReact.memo来判断一个子组件是否具有相同的props。但是,这两个方法并不支持比较两个子组件的props。

      如果你想在React组件内部比较两个子组件的props,你可以在每个子组件中使用一个单独的useStateuseEffect钩子来存储这些props。

      以下是一个例子:

      ```jsx function MyComponent() { const [foo, setFoo] = useState('foo');

      useEffect(() => { // 每次组件渲染时,检查foo是否保持不变 if (foo !== setFoo) { // 如果foo的值改变,重新渲染组件 setFoo('bar'); } }, [foo]);

      return (

      ); }

      function ChildComponent({ foo }) { return (

      {foo === 'foo' ?
      Child Component has the same foo prop
      :
      Child Component has a different foo prop
      }
      ); } ```

      在这个例子中,useMemo被用来比较foo的值是否在每次渲染时都保持不变。如果foo的值改变,useEffect的钩子将被调用,重新渲染组件。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部