Я постоянно получаю сообщение об ошибке, когда пытаюсь передать реквизиты (которые являются просто строкой) компонента (из компонента Table) в Redx через Connect,
Вывод ошибки, который я получаю:
TypeError: Невозможно прочитать свойство 'props' неопределенного
13 |
14 | const getTableData = (state) =>{
15 | return{
> 16 | fieldNames: state[this.props.tableHead]
17 | }
18 | }
19 |
Компонент таблицы вызывается в компоненте с props:
<Table data = {'contacts'} tableHead = {'contactsKeyNames'}/>
Где компонент Table:
import React from 'react';
import '../../styles/App.css';
import {connect} from 'react-redux';
class Table extends React.Component{
render(){
return(
<div> hi </div>
)
}
}
const getTableData = (state) =>{
return{
fieldNames: state[this.props.tableHead]
}
}
export default connect(getTableData)(Table);
и где хранилище редуксов:
const initState = {
contacts:[
{
company: 'Rapid Precision Mfg.',
title: 'Quality Engineer',
firstName: 'Dongyob',
lastName: 'Lee',
officePh: '',
ext: '',
cell: '669-294-0910',
email: 'dyl4810@gmail.com'
},
{
company: 'Facebook',
title: 'Frontend Developer',
firstName: 'Edward',
lastName: 'Simmons',
officePh: '408-516-4662',
ext: '003',
cell: '669-252-4251',
email: 'edwardsimmons@gmail.com'
},
{
company: 'Amazon',
title: 'Data Scientist',
firstName: 'Harry',
lastName: 'Davis',
officePh: '',
ext: '',
cell: '408-344-2110',
email: 'harrydavis0@gmail.com'
},
{
company: 'Google',
title: 'Googler',
firstName: 'Katherine',
lastName: 'Jones',
officePh: '408-963-7156',
ext: '846',
cell: '408-828-0550',
email: 'katherinejones0@gmail.com'
},
{
company: 'Alibaba',
title: 'Scammer',
firstName: 'Eric',
lastName: 'Brown',
officePh: '510-663-5552',
ext: '462',
cell: '408-644-0110',
email: 'ericbrown@gmail.com'
},
],
contactsKeyNames:{
company: 'Company',
title: 'Title',
firstName: 'First Name',
lastName: 'Last Name',
officePh: 'Office',
ext: 'Ext',
cell: 'Cell',
email: 'Email'
}
};
const rootReducer = (state = initState, action) => {
return state;
};
export default rootReducer;
Я попытался привязать это к prop, настроив конструктор, как показано ниже, но не сработал.
constructor(props){
super(props)
this.props = this.props.bind(this)
}
Что я делаю не так?Помогите!