ReactJS:尽管渲染了新元素,如何将元素固定到其当前位置?

ReactJS: How to fix an element to its current position despite rendering of new element?

我有 <h1/><input/> 元素,输入文本后,<button/> appears/renders

尽管您可能需要根据整个 HTML 结构和 CSS 样式进行一些更改,但您可以

<div style={{display: 'flex', flexDirection: 'column', alignItems: 'center'}}>

    <div>
        <h1>Do Not Move Me</h1>
        <input
        placeholder='Enter Name'
        onChange={this._displayButton}
        value={this.state.nameText}
        />
    </div>

    <div>
    {this.state.textEntered ?
        <button
        type="submit"
        />
        : null
    }
    </div>

</div>

我所做的主要更改是 flexDirectionrow 更改为 column,这使得 div children/sub divs 出现在彼此下方而不是并排出现。

编辑:

<div style={{display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'flex-start'}}>

已添加 justifyContent 属性。

编辑 2:

<div style={{display: 'flex', flexDirection: 'row', alignItems: 'center', justifyContent: 'center' }}>

    <h1>Do Not Move Me</h1>

    <div style={{ position: 'relative', marginLeft: 20 }}>

        <input
        placeholder='Enter Name'
        onChange={this._displayButton}
        value={this.state.nameText}
        />
        {this.state.textEntered ?
            <button type="submit" style={{ position: 'absolute', top: '-10px', right: '-10px', borderRadius: '50%', height: 40, width: 40, backgroundColor: '#881587', border: 'none' }} /> : null
        }

    </div>

</div>

您必须编辑 button 样式以使其看起来像您想要的样子。