1
我很困惑道具或狀態在這裏使用。如果我在@connect中使用狀態,我會收到錯誤並且不起作用。當我使用道具時,它不能與onchange處理程序一起設置新的道具。請幫助我如何使用狀態或道具進行輸入工作。我正在從api中檢索初始數據。我們應該使用狀態還是道具來處理投入反應?
import React, {PropTypes} from 'react';
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import { asyncConnect } from 'redux-async-connect';
import {load, isLoaded} from 'redux/modules/overview';
@asyncConnect([{
promise: ({ store: { dispatch, getState }, params: { id }, }) => {
const promises = [];
if (!isLoaded(getState())) {
promises.push(dispatch(load(id)));
}
return Promise.all(promises);
}
}])
@connect(
state => ({
overview: state.overview.data
}),
dispatch => bindActionCreators({load}, dispatch))
export default class Overview extends React.Component {
changeinput1(e) {
this.props.overview.title = e.target.value;
// changing value does not work here
}
constructor (props) {
super();
this.state = {
overview: null,
}
}
render() {
return (
<div>
<label>Input 1</label>
<input type="text" className="form-control" id="title" name="title" maxlength="35" value={this.props.overview.title} onChange={this.changeinput1.bind(this)}/>
</div>
)
}
}
我也想做驗證,並希望保存onBlur的輸入值,所以我不想使用窗體。
我想獲取組件狀態中的縮減器值,但無法使用@connect –
獲取類似於@connect( state =>(this.state.overview:state.overview.data }), dispatch => bindActionCreators({load},dispatch))我想要在組件的狀態概述來操縱它在輸入 –
你應該得到組件的道具的redux狀態,像this.props。概述... – shixukai