javascript - React Component div id 不会隐藏 map 循环中使用的内容

标签 javascript reactjs react-redux

我在index.html 文件中包含此代码,该文件随应用程序一起加载:

$(window).on('load', () => {
    $('#one').hide();
    $('#oneb').hide();
});

这会影响组件:

import React from 'react';

const Test = (props) => <div id="MyDiv">


    <div>

        <div id="one">
            THIS IS ONE
        </div>


        {

            props.list.map((data, i) => {

                return <div id="oneb" key={i}>
                   THIS IS ONEB
                </div>

            })

        }


    </div>
</div>

这里发生的情况是 id="one"的 div 将隐藏,但 id="oneb"仍会显示。

为什么会发生这种情况?我该如何解决这个问题?

最佳答案

你没有以 React 的方式来做这件事。要以 React 方式做到这一点,您的组件应该保存并操作某种状态。检查下面的示例:

import React from 'react';
class MyAwesomeComponent React.Component {
    constructor(){
        this.state = {
            hide: false
        }
    }
    render(){
        const {hide} = this.state;

        <React.Fragment>
            {
                hide
                ? null
                : <div>This is my awesome div that I need to show or hide ;)</div>
            }
            <button>{hide ? 'Show': 'Hide'}</button>
        </React.Fragment>
    }
}
export default MyAwesomeComponent;

上面的代码将隐藏或显示您的 div。检查React documentation

关于javascript - React Component div id 不会隐藏 map 循环中使用的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54768511/

相关文章:

javascript - 无法读取reducer redux中未定义的属性 'data'

reactjs - React-Redux 提供程序不工作

javascript - 如何从 react-redux 中的 Promise 对象获取普通的 json 对象

javascript - 即使 console.log 位于进行更改的行之前,对象也会更改

javascript - 使用html5播放音频流

javascript - 是否可以使用 javascript 从 django 模型数据库中获取数据?

javascript - 从 redux 中的 reducer 取回 ID

javascript - React Js Uncaught( promise )TypeError : Cannot read property of undefined

javascript - 有没有办法将数据存储在 CSS 样式声明或 CSS 规则中?

javascript - React Native 组件不能使用 super