【问题标题】:How to make a error message display:none and display:block?如何使错误消息显示:无和显示:块?
【发布时间】:2019-06-02 05:03:14
【问题描述】:

我有一个没有在渲染区域定义 ShowErrorWarning 的方法。我需要使用状态。但是我怎样才能使这个函数有效呢?

我已经尝试将错误消息用作类上方的函数 ShowErrorMessage。但是我不能包含状态。

function ShowWarning() {

let error = this.props.warningError.error;   

    if (error === "") {
        this.setState({
            ...this.state,
            errorStyle: {
                display: 'none'
            },
            warningMessage: ''
        });
    } else {
        this.setState({
            ...this.state,
            errorStyle: {
                display: 'block'
            },
            warningMessage: this.props.warningError.message
        }); 
    }

}

当我从 API 调用中收到错误时,错误消息将显示为单独的组件。这存储在 this.props.warningError.error 中。

【问题讨论】:

  • 而且我忘了在渲染区域提到 { this.state.warningMessage }
  • 这不是问题,但你不需要在this.setState中提及...this.state
  • 你怎么打电话给ShowWarning
  • 其实是showErrorWarning,只是拼写错误。但我仍然有同样的问题。也许我必须想出一些 JSX 魔法。

标签: reactjs function redux state


【解决方案1】:

您应该能够在 JSX 中使用简单的三元运算符,并根据包含消息的 warningError.error 呈现所需的组件或 null

render() {
  const { warningError } = this.props;

  return (
    <div>
      {warningError.error !== '' ? <ErrorComponent message={warningError.message} /> : null}
    </div>
  );
}

【讨论】:

  • 是的,我认为您正在做某事。非常感谢。
  • 我收到请求失败,状态码为 404,这是正确的。现在我必须看看当我没有请求失败时它是否关闭。
猜你喜欢
  • 2018-01-12
  • 2011-06-05
  • 1970-01-01
  • 2017-03-14
  • 1970-01-01
  • 2011-03-12
  • 2014-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多