Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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/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
Javascript Reactjs:使用输入元素时发生不变冲突_Javascript_Reactjs - Fatal编程技术网

Javascript Reactjs:使用输入元素时发生不变冲突

Javascript Reactjs:使用输入元素时发生不变冲突,javascript,reactjs,Javascript,Reactjs,我对反应有点陌生,正在尝试一个简单的实验 我想在我的初始渲染中有一个文本框和一个搜索按钮,然后当我点击搜索按钮,我想要一个完全不同的标记(关闭按钮+div/h1) 因此,我将值存储在状态变量中,并在render方法中检查该状态并决定标记 这是同样的JSFIDLE 这样做时,我面临两个问题 单击“搜索”按钮时,会进行重新渲染并显示结果页面,但不会释放“搜索”按钮 当我点击“关闭”按钮时,会出现如下错误 危险:正在丢弃意外节点:“” ReactMount:两个有效但不相等的节点,具有相同的数据rea

我对反应有点陌生,正在尝试一个简单的实验

我想在我的初始渲染中有一个
文本框
和一个
搜索按钮
,然后当我点击
搜索按钮
,我想要一个完全不同的标记(
关闭按钮
+
div/h1

因此,我将值存储在状态变量中,并在render方法中检查该状态并决定标记

这是同样的JSFIDLE

这样做时,我面临两个问题

  • 单击“搜索”按钮时,会进行重新渲染并显示结果页面,但不会释放“搜索”按钮

  • 当我点击“关闭”按钮时,会出现如下错误

  • 危险:正在丢弃意外节点:“”

    ReactMount:两个有效但不相等的节点,具有相同的
    数据reactid
    : .0.1

    有人能给一些干净的解决办法吗

    我尝试了一些解决办法

    • 如果用文本区域或div替换输入元素,则 很好

    • 另外,如果在搜索按钮后添加一个空div,则 div是结果页面上的rendernd,搜索按钮不显示。但是JS错误仍然会出现


    您在HTML标记中出错

    而不是:

    <input type="text"> </input>
    
    
    
    简单地写下:

    <input type="text" />
    

    您在HTML标记中出错

    而不是:

    <input type="text"> </input>
    
    
    
    简单地写下:

    <input type="text" />
    

    您在HTML标记中出错

    而不是:

    <input type="text"> </input>
    
    
    
    简单地写下:

    <input type="text" />
    

    您在HTML标记中出错

    而不是:

    <input type="text"> </input>
    
    
    
    简单地写下:

    <input type="text" />
    
    
    
    非常感谢。工作很有魅力。非常感谢。工作很有魅力。非常感谢。工作很有魅力。非常感谢。工作得很有魅力。