reactjs - 如何从另一个组件访问一个组件的状态?
问题描述
在我的 react-native 应用程序中,我有一个输入表单组件和一个按钮组件。当用户按下按钮但数据存在于表单组件中时,我想将登录信息发送到我的服务器。
如何从按钮组件访问表单的状态。
解决方案
解决问题的一种更聪明的方法是在按钮组件上公开一个 onclick 属性,并将附加到表单对象的事件提供给它。向服务器发送 AJAX 请求,您的问题就解决了。
示例按钮组件
import React from 'react';
class PokePagerButton extends React.Component {
render() {
let {text, tooltip, onClick, currentPage, value, isVisible = true} = this.props;
return(
<button className={'poke-pager-button '
+ (currentPage === text ? ' active' : ' ')
+ (isVisible ? ' ' : ' hidden')}
onClick={onClick}
title={tooltip}
value={value}>{text}</button>
);
}
}
export default PokePagerButton;
样品消耗
class PokeForm extends React.Component {
onPagerButtonClick() {
const request = await fetch ('/echo/json', {
headers: {
'Content-type': 'application/json'
},
method: 'POST',
body: { a: this.state.pokedata }
});
}
render() {
<PokepagerButton onClick={this.onPagerButtonClick} />
}
}
推荐阅读
- java - 这个错误是什么意思?模拟器:FramebufferData::restore: 警告:纹理被删除而不解除绑定 FBO
- laravel - Laravel / Forge 服务器如何确定哪个 Github 用户获取公钥?
- rust - 如何使用 Tokio 实现基于拉的系统?
- python - ValueError:行或列值必须至少为 1
- python - Itertools - 合并两个列表以获得所有可能的组合
- python - 我可以在一个程序中多次调用函数'main'吗?
- architecture - 是否有架构路线图、流程图或图表之类的东西,用于根据项目要求何时使用某些技术?
- jquery - 如何将日期转换为刚才调用的字符串;x 分钟前;x 天前、x 周前、x 年前等
- php - 使用 PHP MySQLi 从 Google Cloud App Engine 连接到 Cloud SQL 不起作用
- sql - SSRS 在一个实例中运行相同的存储过程多次生成数据集