reactjs - 从文本字段更新头像值
问题描述
我对 React.JS 很陌生,对 JS 也很陌生。我必须从文本字段更新头像值。这只是一个小型演示项目。我的目标如下:
这意味着如果有人在
昵称
然后必须更新头像文本。我在 App.js 中的渲染方法如下
return (
<div className="App">
<div style={avatarParentContainer}>
<div style={divStyleAvatar}>
</div>
<span style={avatarContainer}>
{avatar}
</span>
</div>
<div>
<Login/>
</div>
</div>
);
下面是我的头像
avatar= <Avatar
name={this.setState({avatarname:''})}
size="200"
round={true}
style={avatarClass}
/>;
在上面的代码中,我有一个单独的组件作为
登录
此登录组件具有如下昵称字段:
<TextField
hintText="Enter your Nick name"
floatingLabelText="Nick Name"
onChange = {(event,newValue)=>this.setState({nickname:newValue})}
/>
我知道这对于专家来说是个愚蠢的问题,但就我而言,我正在努力解决这个问题。请帮助我摆脱这个问题。
解决方案
将状态移动到您的App
组件。Avatar
并且Login
应该是一个无状态组件。然后,您可以将函数作为道具传递给Login
,并name
从状态传递给Avatar
组件。像这样的东西(未测试,因为我没有这些组件的代码;)):
const Login = ({ onChange }) => (
<TextField
hintText="Enter your Nick name"
floatingLabelText="Nick Name"
onChange = {(event, newValue) => onChange(newValue)}
/>
);
const Avatar = ({ name }) => (
<Avatar
name={name}
size="200"
round={true}
style={avatarClass}
/>
);
并在App
:
return (
<div className="App">
<div style={avatarParentContainer}>
<div style={divStyleAvatar}>
<span style={avatarContainer}>
<Avatar name={this.state.avatarname} />
</span>
</div>
<div>
<Login onChange={avatarname => this.setState({avatarname})} />
</div>
);
推荐阅读
- python-3.x - 从另一个包导入 Python 不起作用:ModuleNotFoundError: No module named
- c# - Linq 表达式 - 从范围“”引用的“System.Data.DataRow”类型的“变量”但未定义
- vulkan - 在 Vulkan 中调配和渲染目标
- watson-openscale - 关于解释任务响应对比解释部分重要性解释的问题
- angular - 将 BehaviourSubject 的输出转换为不同的类型
- python - 来自 Pandas Dataframe 的条形图
- imagemagick - ImageMagick:裁剪但保持原始画布大小并将背景绘制为白色
- oracle - Oracle:使用 impdp 导入 DB 转储时出错:Data Pump 客户端与数据库版本 12.1.0.2.0 不兼容
- c# - DocuSign 重定向 URI 不匹配或未正确注册
- r - R函数按从多行到列的顺序添加分层列?