我有幾個組件,每個組件都包含輸入,並且在主要組件上,我有一個按鈕將一次全部發送到服務器。問題是具有按鈕的主要組件沒有子組件的輸入內容。React組件結構和向上傳遞狀態
在過去,我已經傳遞了一種方法,將內容備份到狀態,但是有沒有一種更簡單的方法呢?這只是一種奇怪的做法。
下面是我擁有的和我的意思的簡短例子。
主要成份:
import React from 'react';
import { Button } from 'react-toolbox/lib/button';
import Message from './Message';
class Main extends React.Component {
constructor() {
super();
this.state = { test: '' };
}
render() {
return (
<div className="container mainFrame">
<h2>Program</h2>
<Message />
</div>
);
}
}
export default Main;
和消息組件:
import React from 'react';
import axios from 'axios';
import Input from 'react-toolbox/lib/input';
class Message extends React.Component {
constructor() {
super();
this.state = { message: '' };
this.handleChange = this.handleChange.bind(this);
}
handleChange(value) {
this.setState({ message: value });
}
render() {
return (
<Input
type="text"
label="Message"
name="name"
onChange={this.handleChange}
/>
);
}
}
export default Message;
這就是爲什麼[終極版](http://redux.js.org/)存在。 –
@EdgarHenriquez,如果適用於大型複雜應用,仍然可以使用。對於較小的,回調就足夠了。 –
@EdgarHenriquez我會說redux更痛苦,因爲這裏只需要收集輸入字段的值。 –