【问题标题】:React states button or create back button?反应状态按钮或创建后退按钮?
【发布时间】:2021-02-06 14:21:52
【问题描述】:

我不是开发人员,目前已被屏蔽。我正在尝试创建一个“回家”按钮或隐藏此重新启动按钮并仅在用户到达最后一个视图时将其显示给用户。我找不到解决办法...

提前感谢您的帮助。

import React, { useState } from 'react';
import './App.css';
import { SelectSign } from './components/SelectSign';
import { SelectTimeframe } from './components/SelectTimeframe';
import { Horoscope } from './components/Horoscope';

function App() {
  const [selectedSign, setSelectedSign] = useState(null);
  const [
    selectedTimeframe,
    setSelectedTimeframe,
  ] = useState('today');

  const restart = () => {
    setSelectedSign(null);
    setSelectedTimeframe('today');
  };

  return (
    <div className="App">
      <h1>The Horoscope App</h1>
      {!selectedSign && (
        <SelectSign onSignSelected={setSelectedSign} />
      )}
      {selectedSign && !selectedTimeframe && (
        <SelectTimeframe
          onTimeframeSelected={setSelectedTimeframe}
        />
      )}
      {selectedSign && selectedTimeframe && (
        <Horoscope
          sign={selectedSign}
          timeframe={selectedTimeframe}
        />
      )}
      <button onClick={restart}>Restart</button>
    </div>
  );
}

export default App;

【问题讨论】:

  • 您希望它何时完全隐藏重启按钮。请澄清。
  • 选择 时。或者当星座运势出现时。我只有两个步骤:用户选择她的星座,然后我炫耀她的星座。 (我已经过了选择日,只显示当前日期)

标签: javascript reactjs web-applications


【解决方案1】:

当点击selectSign 按钮时,您正在设置selectedSign 中的值。 您可以在 JSX 模板中使用三元运算符检查 if else 条件。

如果存在 selectedSign 值,则显示 GO home 按钮,否则将显示 Restart 按钮。

function App() {
  const [selectedSign, setSelectedSign] = useState(null);
  const [
    selectedTimeframe,
    setSelectedTimeframe,
  ] = useState('today');

  const restart = () => {
    setSelectedSign(null);
    setSelectedTimeframe('today');
  };

  return (
    <div className="App">
      <h1>The Horoscope App</h1>
      {!selectedSign && (
        <SelectSign onSignSelected={setSelectedSign} />
      )}
      {selectedSign && !selectedTimeframe && (
        <SelectTimeframe
          onTimeframeSelected={setSelectedTimeframe}
        />
      )}
      {selectedSign && selectedTimeframe && (
        <Horoscope
          sign={selectedSign}
          timeframe={selectedTimeframe}
        />
      )}
      {
       selectedSign?<button>Go Home</button>:<button onClick={restart}>Restart</button>
      }
    </div>
  );
}

export default App;

【讨论】:

  • 工作完美,我添加了隐藏重启按钮的类。谢谢?prathameshk73
  • @niavlys 您可以将答案标记为已接受。
猜你喜欢
  • 1970-01-01
  • 2019-07-26
  • 1970-01-01
  • 2020-02-16
  • 2023-03-21
  • 2012-08-23
  • 1970-01-01
  • 2015-03-24
  • 1970-01-01
相关资源
最近更新 更多