我刚开始学习react ,有个问题.

我想做以下几件事:

如果用户单击某个段落,我想将元素更改为一个输入字段,其中预先填充了该段落的内容.

我走了这么远,但完全不知所措.

var AppHeader = React.createClass({
    editSlogan : function(){
        return (
            <input type="text" value={this.props.slogan} onChange={this.saveEdit}/>
         )
    },
    saveEdit : function(){
        // ajax to server
    },
    render: function(){
        return (
            <header>
                <div className="container-fluid">
                    <div className="row">
                        <div className="col-md-12">
                            <h1>{this.props.name}</h1>
                            <p onClick={this.editSlogan}>{this.props.slogan}</p>
                        </div>
                    </div>
                </div>
            </header>
        );
    }
});

如何覆盖editSlogan函数中的渲染?

推荐答案

如果我正确理解了您的问题,那么您希望在"onClick"事件中呈现不同的元素.

这是react状态的一个很好的用例.

以下面的例子为例

React.createClass({ 
    getInitialState : function() {
       return { showMe : false };
    },
    onClick : function() {
       this.setState({ showMe : true} );
    },
    render : function() {
        if(this.state.showMe) { 
            return (<div> one div </div>);
        } else { 
            return (<a onClick={this.onClick}> press me </a>);
        } 
    }
})

这将更改组件状态,并使React渲染div而不是a标记.当一个组件状态发生改变时(使用setState方法),React会计算它是否需要重新启用自身,以及在这种情况下,它需要重新启用组件的哪些部分.

更多关于州的信息

Reactjs相关问答推荐

eslint -无法解析模块的路径@web3modal/ethers/react导入/no-unresolved

使用useEffect挂钩获取数据

Firebase删除UserWithEmail AndPassword仅创建匿名用户

在React Create App TS项目中安装material UI

Reaction-Query&-使用Mutation触发成功,而应该触发错误

无法使用Reaction日期选取器和Next.js设置初始日期

无法使用 Suspense 和 Await 获取数据

React Native - 如何处理错误带有有效负载的NAVIGATE操作..未被任何导航器处理?

在Vite React上获取Amplify的环境变量

如何更新redux状态存在的输入框

在添加了useplacesautocomplete后,在构建React/Next.js项目时,NPM抛出类型期望的错误

使用D3.js绘制和展示弦图的右下方象限

类型错误:类型typeof import(js-cookie)上不存在属性get

单元测试 useLoaderData() react-router v6 加载器函数

如何在 nextjs 中单击按钮时动态导入和渲染组件?

react 事件顺序

错误:无效挂钩调用.钩子只能在函数组件的主体内部调用.使用 next/router 时

在 Remix 中使用 chartjs 和 react-chartjs-2 会出现错误react-chartjs-2未在您的 node_modules 中找到

React如何在用户登录后等待当前用户数据被获取

仅在重新渲染后设置状态