reactjs - 从组件上的函数调度访问值
问题描述
我是新来的反应。
我有一个函数,需要根据我的组件上的 API 请求结果刷新状态。
我如何访问该值?
代码(示例):
登录组件.js
class Login extends React.Component {
constructor(props){
super(props)
this.state = {
username : '',
password : ''
}
}
submit = (e) => {
/* console.logging "Some response"*/
console.log(this.props.doLogin(this.state))
}
render(){
return (
<form onSubmit={this.submit}>/* some login element */</form>
)
}
}
export default connect(null, {LoginAction})(Login);
登录动作.js
export function doLogin(state){
return dispatch => {
return axios.post('login', state).then(res =>{
return "Some response";
})
}
}
解决方案
你可以这样做
例如创建 axios.js
import axios from 'axios';
var instance = axios.create({
baseURL: 'https://www.',
timeout: 1000,
headers: {'Authorization': 'Bearer xxx'}
});
export default instance;
然后在你的另一个屏幕上
import React from 'react';
import API from '../axios';
export default class Profile extends React.Component {
constructor(props) {
super(props);
this.state = {
loading: false,
feedback: "",
id: "",
errors: {},
};
}
postComment = () => {
API.post(`/new-comment`, {
id: this.state.id,
feedback: this.state.feedback,
})
.then(res => res.data)
.then((response)=> {
this.setState({
feedback: '',
error: response.error || null,
})
}).catch(error => {console.log(error), this.setState({ error});});
}
推荐阅读
- javascript - 如何用createElement渲染Vue的动态组件标签?
- snowflake-cloud-data-platform - 什么是磁盘溢出意味着以及如何在雪花中避免这种情况
- html - 如何删除所有默认锚样式以使元素不受影响?
- python - 冒泡排序算法和“int”对象不可下标
- r - 无法在 R 中安装 bbplot 包
- node.js - 如何将搜索结果发送回客户端?
- c - 我可以使用逻辑 OR(||) 运算符而不是逻辑 AND(&&) 运算符吗
- python - 我不明白为什么这个嵌套的while循环可以工作请python
- powershell - 无法使用字符串在 PowerShell 中设置别名
- php - MYSQL查询海量泵