React - Zmapowana lista zawierająca komponenty - przenoszenie wartości do komponentu


(look997) #1

W komponencie BinFormatView zmapowałem tablicę declarations i przesłałem declaration do każdego komponentu BinFormatDeclarationView. Równocześnie, przesłałem stan z Redux store do BinFormatDeclarationView z innymi wartościami (takimi jak crude)

VSCode pokazuje taki błąd:
[js] Property 'declaration' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes <Component <Pick <any, never>, ComponentState >> & Rea ...'.
chociaż kod działa dobrze.

W jaki inny sposób przesłać declaration z mapy? Czy przekazywanie wartości w atrybucie komponentu jest poprawne, jeśli używa się także redux? Czy może vscode przesadza?

class BinFormatDeclarationViewX extends Component {
    state = {};
    render() {
        const {declaration, crude} = this.props;
        const {symbolSize} = crude;

        return (
            <Fragment>
                {<span className="bin-format_symbol" >{declaration[0]*symbolSize}</span>}
                {<span className="bin-format_symbol bin-format_symbol--relation" >{declaration[1]*symbolSize}</span>}
                {<span className="bin-format_symbol" >{declaration[2]*symbolSize}</span>}
            </Fragment>
        )
    }
}
const BinFormatDeclarationView = connect(mapStateToProps, actions)(BinFormatDeclarationViewX);

class BinFormatView extends Component {
    state = {};
    render() {
        const {crude} = this.props;
        const {declarations} = crude;       
        return (                <ul className="bin-format_list">
                    {declarations.map(declaration => <li className="bin-format_declaration" key={declaration}>
                        <BinFormatDeclarationView declaration={declaration}/>
                    </li>)}
                </ul>
        )
    }
}

function mapStateToProps(state) {
    return {...state}
}
const ConnectedBinFormatView = connect(mapStateToProps, actions)(BinFormatView);

Zastosowanie @ts-itgnore w żadnej konfiguracji nie pomaga.