reactjs React-点击按钮时显示两个元素

jjjwad0x  于 2022-11-04  发布在  React
关注(0)|答案(1)|浏览(149)

我有一个堆栈 lightning 战here
我知道我不该问这个问题,但有没有更好的方法。
我有两个div,它们位于彼此的tpo上,还有两个按钮来显示每个div
我正在使用useState并在单击<button onClick={() => setBlock('One')}>Btn One</button>按钮时更新它
然后根据useState值显示div。

{block === 'One' && <div className="FlexContainerColOne"></div>}

我问是因为我以前从来没见过这样的block === 'One' ′,不确定这是不是最好的方法

import * as React from 'react';
import './style.css';
import { FlexContainer } from './styled';

const App = () => {
  const [block, setBlock] = React.useState('One');
  return (
    <div>
      <button onClick={() => setBlock('One')}>Btn One</button>
      <button onClick={() => setBlock('Two')}>Btn Two</button>

      <FlexContainer>
        {block === 'One' && <div className="FlexContainerColOne"></div>}
        {block === 'Two' && <div className="FlexContainerColTwo"></div>}
      </FlexContainer>
    </div>
  );
};

export default App;
kyks70gy

kyks70gy1#

如果您想在两个div之间切换,只需创建一个状态来切换即可

const App = () => {
  const [toggleBlock, setToggleBlock] = React.useState(true);
  return (
    <div>
      <button onClick={() => setToggleBlock(!toggleBlock)}>Toggle</button>

      <FlexContainer>
        {toggleBlock ? (
          <div className="FlexContainerColOne"></div>
        ) : (
          <div className="FlexContainerColTwo"></div>
        )}
      </FlexContainer>
    </div>
  );
};

相关问题