Использование функции connect из redux, похоже, приводит к тому, что моя IDE (PhpStorm) теряет способность "Найти использование" в моих классах.Я полагаю, потому что connect
возвращает any
, поэтому import SomeClass from SomeClass.ts
теряет информацию о типе из этого файла.
export default connect(mapStateToProps)(SomeClass);
Из документов с избыточностью:
Он не изменяет класс компонента, переданный ему;вместо этого он возвращает новый класс подключенного компонента, который вы можете использовать.
Но я хочу, чтобы моя среда IDE воспринимала это так, как если бы это был мой исходный класс / компонент, поэтому он имеет всю информацию о типе.
Один способ, которым я нашел, как это исправить, это использовать аннотации с @connect
, но для этого необходимо поместить функции mapStateToProps
& mapDispatchToProps
над классом.Я предпочитаю сохранять мои файлы классов достаточно чистыми, так как класс находится в самом верху файла.
Это дает Block-scoped variable 'mapSateToProps' used before its declaration
import {connect} из'act-redux '
@connect(mapStateToProps)
class TestClass {
}
const mapStateToProps = (state, props) => {
}
Есть ли способ использовать соединение, сохранить информацию о типе класса в моей IDE ииметь mapStateToProps
либо ниже класса, либо внутри класса как статические функции?Или просто где-нибудь еще в том же файле?
Я использую TypeScript & Babel.