React로 첫 번째 단계를 진행하고 있습니다. 내 질문이 기본/바보 인 경우 미안합니다. :)다른 함수에서 소품의 함수에 액세스하는 방법
나는this.props.selectUser(user)
에서 해당 액세스해야하기 위해 클래스에서 작업을 연결 한
: 다음
function matchDispatchToProps(dispatch) {
return bindActionCreators({
selectUser: selectUser
}, dispatch);
}
export default connect(mapStateToProps, {matchDispatchToProps })(UserList);
내가 DataTables (반응 - 부트 스트랩 테이블)을 만들기 위해 구성 요소를 사용하고 난 selectRow={selectRowProp}
설정
<BootstrapTable data={mappedUsers} selectRow={selectRowProp} >
<TableHeaderColumn isKey dataField='id'>ID</TableHeaderColumn>
...
</BootstrapTable>
이 상태가 행 선택에 onRowSelect
를 호출 할 수있는 옵션은 다음과 같습니다 클래스 기능을 상호 작용을 추가하고 호출 함수 내에서 87,
내가 어떻게 할 수있는 this.props.selectUser(row.user);
function onRowSelect(row, isSelected, e) {
console.log("THIS: ", this);
this.props.selectUser(row.user);
}
에 액세스 할 수 없습니다? 도와주세요!
import React, {Component, PropTypes} from 'react';
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import {selectUser} from '../actions/index';
import ReactBsTable,{BootstrapTable, TableHeaderColumn} from 'react-bootstrap-table';
import {Link} from 'react-router';
class UserList extends Component {
constructor(props) {
super(props);
this.state = {
selected: [],
currPage: 1
};
}
render() {
const { currPage } = this.state;
populateUserList(this.props.users.content);
function onRowSelect(row, isSelected, e) {
this.props.selectUser(row.user);
}
const options = {
sizePerPageList: [ 5, 10, 15, 20 ],
sizePerPage: 10,
page: currPage,
sortName: 'id',
sortOrder: 'desc'
};
const selectRowProp = {
mode: 'checkbox',
clickToSelect: true,
hideSelectColumn: true,
onSelect: onRowSelect
}
return (
<div>
<BootstrapTable data={mappedUsers} striped selectRow={selectRowProp} pagination={true} options={options} >
<TableHeaderColumn isKey dataField='id'>ID</TableHeaderColumn>
<TableHeaderColumn dataField='name'>Name</TableHeaderColumn>
</BootstrapTable>
<Link to="/" className="btn btn-info btn-lg pull-right">Back to Search</Link>
</div>
);
}
}
function mapStateToProps(state) {
return {
mappedUsers: state.mappedUsers
};
}
function matchDispatchToProps(dispatch) {
return bindActionCreators({
selectUser: selectUser
}, dispatch);
}
export default connect(mapStateToProps, {matchDispatchToProps })(UserList);
고맙습니다. 그게 문제를 해결 했어! :) 이제 작동합니다. –