在reactJS中显示/隐藏元素

罗菲BC

我第一次弄乱React.js,找不到在我的标签位置显示或隐藏New输入字段的方法。我有点混乱,但最后我被卡住并删除了editItem代码,这是到目前为止的代码,我不知道如何继续/创建editItem函数。有任何建议吗?

import React, {Component} from "react";
import {v4 as uuidv4} from 'uuid';
import "./App.css";

class App extends Component {
    state = {
        todos: [],
    };
    handleInputValue = (event) => {
        console.log('-------handleinputvalue');
        this.setState({inputValue: event.target.value, id: uuidv4()});
    }
    addItem = () => {
        let {inputValue, todos, id} = this.state
        this.setState({todos: [...todos, {inputValue, id}]})
        console.log('Assigned id to new item',this.state)
    }
    deleteItem = (todoID) => {
        const todos = this.state.todos.filter((item => item.id !== todoID))
        this.setState({todos})
        console.log('------todoId',todoID)
    }

    editItem =(todoId) => {

    }

    render() {
        console.log('-------render');
        return (

            <div className={"App"}>
                <div className="App-header">
                    <h2>Welcome to To-Do List App</h2>
                </div>
                <input onChange={this.handleInputValue} name={''} type='text'/>
                <button onClick={() => this.addItem()} className={'btn btn-primary'}>Add</button>
                <ul>
                    {this.state.todos.map((item) => <li key={uuidv4()}>
                        <input type={'checkbox'}/>
                        <label>{item.inputValue}</label>
                        <input type={'text'} className={'hidden'}/>
                        <button onClick={() => this.deleteItem(item.id)} className={'btn btn-primary'}>Delete</button>
                        <button className={'btn btn-primary'}>Edit</button>
                    </li>)}
                </ul>
            </div>
        )
    }
}

export default App;
马德拉恩

您正在寻找的是条件渲染

基本上,仅当条件为true时才渲染组件。查看React文档,特别是关于内联&&运算符的部分

一个简单的例子:

使用&&运算符仅在条件为真时才呈现某些内容:

const Component = () => {
  const [showMessage, setShowMessage] = useState(false);

  return (
    <div>
      <button onClick={() => setShowMessage((p) => !p)}>Toggle message</button>
      // the message div will only be rendered when showMessage is true
      {showMessage && <div>This is a message!</div>}
    </div>
  );
};

使用三元运算符condition ? a : b呈现一件事或另一件事:

const Component = () => {
  const [showFirstMessage, setShowFirstMessage] = useState(false);

  return (
    <div>
      <button onClick={() => setShowFirstMessage((p) => !p)}>
        Toggle message
      </button>
      // If showFirstMessage is true, the first message will be rendered, else the second message will be rendered
      {showFirstMessage ? (
        <div>I'm the first message!</div>
      ) : (
        <div>Hi, I'm the second message</div>
      )}
    </div>
  );
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在单个div中显示和隐藏元素?

来自分类Dev

根据报告中的用户隐藏/显示元素?

来自分类Dev

如何在AngularJS中显示隐藏的元素?

来自分类Dev

如何显示/隐藏ReactJS组件

来自分类Dev

隐藏/显示元素jQuery

来自分类Dev

根据目标在情节提要中显示/隐藏UI元素

来自分类Dev

如何在流星中隐藏/显示元素?

来自分类Dev

如何使用条件语句显示/隐藏车把中的html元素

来自分类Dev

显示隐藏的元素

来自分类Dev

ReactJS显示/隐藏并行组件

来自分类Dev

在实时搜索中显示/隐藏列表元素

来自分类Dev

在下拉列表中显示列表的隐藏元素

来自分类Dev

在映射ReactJS中显示/隐藏div

来自分类Dev

在父级中显示div元素,其中隐藏了溢出

来自分类Dev

如何显示/隐藏ReactJS组件

来自分类Dev

显示和隐藏jQuery中的不同元素

来自分类Dev

显示/隐藏表格中的元素

来自分类Dev

Javascript显示/隐藏元素

来自分类Dev

在ReactJS中显示/隐藏视图的正确方法是什么?

来自分类Dev

ReactJS显示/隐藏并行组件

来自分类Dev

在JQuery中的ul中隐藏和显示特定元素

来自分类Dev

在实时搜索中显示/隐藏列表元素

来自分类Dev

隐藏/显示javascript中的元素

来自分类Dev

如何在reactJs中添加样式以显示/隐藏Google地图?

来自分类Dev

油门隐藏/显示组件ReactJs

来自分类Dev

隐藏元素和显示元素

来自分类Dev

Reactjs onFocus/onBlur 隐藏/显示元素

来自分类Dev

隐藏和显示 DOM 中的嵌套元素

来自分类Dev

显示隐藏元素 jquery