3

反応コードに再選択を追加しようとしていますが、常に再レンダリングしているようです。

状態を変更するたびに、入力セレクターが変更されていなくても、コンソールに「testing」と出力されます。何が起こっているのかを示す簡単なテストを作成しました。

import { connect } from 'react-redux'
import { createSelector } from 'reselect'

window.testObject = {'x': '5'}
const mapStateToProps = (state, props) => {

  const test = state => {return window.testObject}
  const getTest = createSelector(test, (t)=> console.log('testing'))

  return {
      test: getTest(state),
  }
}


export default const TestContainer = connect(
  mapStateToProps,
)(TestBase)

私は何を間違っていますか?? 私はドキュメントを読み続けており、入力セレクターが変更されていないため、console.log は初めて実行されるべきではないことがわかります。私はそれを正しく理解していますか?

4

1 に答える 1