私はReact TypescriptでAPPを作成しています。 Jqueryを可能な限り使用しないようにしています。React Typescriptのウィンドウのスクロールを検出します。
ウィンドウがスクロールした時点を検出して、ヘッダークラスを更新できるようにする必要があります。これはjqueryの中で行われるだろうかです:
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if(scroll >= 200) {
$(".navbar-default").addClass("dark");
} else {
$(".navbar-default").removeClass("dark");
}
});
私のエントリポイントのHTMLは、この(削減)
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
<body>
エントリTSXファイルを次のようになります。
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import Layout from './views/layout/layout';
import registerServiceWorker from './registerServiceWorker';
import './index.css';
import { Provider } from 'react-redux';
import { createStore } from 'redux';
import { enthusiasm } from './reducers/index';
import { StoreState } from './types/index';
const store = createStore<StoreState>(enthusiasm, {
enthusiasmLevel: 1,
languageName: 'TypeScript',
});
ReactDOM.render(
<Provider store={store}>
<Layout />
</Provider>,
document.getElementById('root') as HTMLElement
);
registerServiceWorker();
されるものこのタイプのイベントを複製するための推奨される方法は?
テイクこれを見てください:https://github.com/shotaK/redux-lazy-scroll/blob/master/ReduxLazyScroll.js;まったく同じ機能を持つコンポーネントです。 – Shota