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.