#reactjs #redux
#reactjs ( реакция ) #сокращение #reactjs #ошибка redux
Вопрос:
Я пытаюсь создать простое приложение с помощью ReactJS, но я получаю эту ошибку, и я не знаю, почему.
Это мой App.js .
import React from 'react';
import { connect } from 'react-redux';
import Category from './components/Category';
//import News from './components/Noticias';
import './App.css';
function App() {
const { categories } = this.props;
return (
<div className="App">
<Category categories={categories} />
{/*<News />*/}
</div>
);
}
const mapStateToProps = state => {
const { Categorias: {data: categories}} = state;
return {
categories,
}
}
const mapDispatchToProps = dispatch => ({})
export default connect(mapStateToProps, mapDispatchToProps)(App);
Я работаю под версией 14.4.0 из node.js и это мой package.json для проверки версии react, версии redux и т.д.
{
"name": "noticias",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-redux": "^7.2.1",
"react-scripts": "3.4.3",
"redux": "^4.0.5",
"redux-form": "^8.3.6"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
Я проверяю, но не нахожу ошибки, вы можете мне помочь?
Комментарии:
1. Вероятно, вы могли бы просто использовать
props
вместоthis.props
.2. Функциональные компоненты не имеют доступа к реквизитам на
this
. Пожалуйста, начните с основ: reactjs.org/tutorial/tutorial.html#function-components .3. О, мне пришлось передать
props
параметр в функцию и удалитьthis
. Спасибо.
Ответ №1:
Вы могли бы написать это,
function App({ categories }) {
// const { categories } = this.props;
return (
<div className="App">
<Category categories={categories} />
{/*<News />*/}
</div>
);
}