Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如果子元素为null,则隐藏整个父元素_Reactjs_Jsx - Fatal编程技术网

Reactjs 如果子元素为null,则隐藏整个父元素

Reactjs 如果子元素为null,则隐藏整个父元素,reactjs,jsx,Reactjs,Jsx,我是新手,我想隐藏父div,如果子对象为null,则li数据通过道具传递 import React from 'react'; const PublicationTags = (props) => { return ( <div className="publication-tags"> <h4>Темы публикации</h4> <ul>

我是新手,我想隐藏父div,如果子对象为null,则li数据通过道具传递

import React from 'react';

const PublicationTags = (props) => {
    return (
        <div className="publication-tags">
            <h4>Темы публикации</h4>
            <ul>
                {props.data &&
                    props.data.tag_names &&
                    props.data.tag_names.map((tag_name, key) => (
                        <li key={key}>
                            <a href="/">{tag_name}</a>
                        </li>
                    ))}
            </ul>
        </div>
    );
};

export default PublicationTags;
从“React”导入React;
const PublicationTags=(道具)=>{
返回(
Темы публикации
    {props.data&& props.data.tag_名称&& props.data.tag\u names.map((tag\u name,key)=>(
  • ))}
); }; 导出默认PublicationTags;
如果li项上没有数据,我想隐藏and标记。

{this.props.data}
<ParentDiv style={this.props.data===null ? {display:'none'}:{display:'flex'}>{this.props.data}</ParentDiv>

希望这有帮助

取决于应用程序的整体结构,但您可以执行以下操作:

import React from 'react';

const PublicationTags = props => {
  if (!props.data.length) {
    return null;
  }

  return (
    <div className="publication-tags">
      <h4>Темы публикации</h4>
      <ul>
        {props.data &&
          props.data.tag_names &&
          props.data.tag_names.map((tag_name, key) => (
            <li key={key}>
              <a href="/">{tag_name}</a>
            </li>
          ))}
      </ul>
    </div>
  );
};

export default PublicationTags;
从“React”导入React;
const PublicationTags=props=>{
如果(!props.data.length){
返回null;
}
返回(
Темы публикации
    {props.data&& props.data.tag_名称&& props.data.tag\u names.map((tag\u name,key)=>(
  • ))}
); }; 导出默认PublicationTags;
或:

从“React”导入React;
const PublicationTags=props=>{
返回props.data.length(
Темы публикации
    {props.data&& props.data.tag_名称&& props.data.tag\u names.map((tag\u name,key)=>(
  • ))}
):null; }; 导出默认PublicationTags;
上面的代码没有隐藏返回行上的整个div.publication-tag,我添加了props.data.length,应该可以使用。
import React from 'react';

const PublicationTags = props => {
  return props.data.length ? (
    <div className="publication-tags">
      <h4>Темы публикации</h4>
      <ul>
        {props.data &&
          props.data.tag_names &&
          props.data.tag_names.map((tag_name, key) => (
            <li key={key}>
              <a href="/">{tag_name}</a>
            </li>
          ))}
      </ul>
    </div>
  ) : null;
};

export default PublicationTags;