javascript - 同一组件渲染两次

标签 javascript reactjs

我想要渲染 <Child /> 的相同组件实例两次 <Parent />组件。

index.js

import React from 'react';
import { render } from 'react-dom';

import Parent from './Parent';

render(
  <Parent />,
  document.getElementById('root')
);

Parent.js

import React from 'react';
import Child from './Child';

const child = <Child />

export default () => {
  return (
    <>
      {child}
      {child}
    </>
  )
}

Child.js

import React, { useState } from 'react';

function generateRandomString() {
  return Math.random().toString();
}

export default () => {
  const [text, setText] = useState(generateRandomString());

  function onClickHandler() {
    setText(generateRandomString());
  }

  return (
    <div onClick={onClickHandler}>text: {text}</div>
  )
}

可以吗?

最佳答案

您将组件视为值。只需更改您的parent.js,如下所示。

import React from 'react';
import Child from './Child';
export default () => {
  return (
    <div>
     <Child/>
     <Child/>
    <div/>
 )
}

关于javascript - 同一组件渲染两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55861794/

相关文章:

reactjs - 如何将类型添加到主题旁边的组件自己的 Prop ?

reactjs - React 中的 Swiper.js 与 MUI 卡集成

javascript - FB.XFBML.parse 未捕获 [对象对象]

javascript - 如何使用 Javascript 弹出一个新窗口,其 html 与其父窗口几乎相同

android - 类型错误 : null is not an object (evaluating 'RNGestureHandlerModule.default.Direction' )

reactjs - 为什么在这个简单的例子中,react-sticky 不起作用?

reactjs - React Router 重定向渲染空白屏幕

javascript - 获取事件,由 jQuery click() 单击的按钮的事件

javascript - 从 v-bind :style doesn't trigger an update to the view 中调用函数

javascript - 在 handlebars 模板中设置第一个单选按钮被选中