【发布时间】:2018-08-01 03:20:37
【问题描述】:
我试图理解 state.props 以帮助我将值从孩子传递给父母。我有一个header component(子),当单击链接时,它应该将值传递给App component(父)内的方法。然后,此方法设置用于其他事物的值的状态。我尝试在 App.js 文件中绑定该方法,但这不起作用。单击链接时出现错误:×
TypeError: _this.changeSearchState is not a function
Header.js
import React, { Component } from "react";
import { Link } from 'react-router-dom';
class Header extends Component {
changeSearch = (e) => {
e.preventDefault();
var type = this.value;
this.changeSearchState(type);
}
render() {
return (
<header>
<div className="float-right top-bar">
<Link onClick={this.changeSearch} value="users" to="/users">Users</Link>
<Link onClick={this.changeSearch} value="feedback" to="/feedback">Feedback</Link>
...
</div>
</header>
)
}
}
export default Header;
App.js
class App extends Component {
constructor(props) {
super(props)
this.state = {
isOpen: false,
dataType: ''
}
this.changeSearchState = this.changeSearchState.bind(this);
}
changeSearchState = (dataType) => {
this.setState({
dataType: dataType
});
}
...
【问题讨论】:
标签: javascript reactjs components state