You can query the layer that contains the districts with the view extent.
If the district are in a FeatureLayer on your map, then you just need to query the layer view, all your features are already local because you are actually seen it. Take a look at this example, it does exactly that to display some information of the features in a list ArcGIS JS Examples - FeatureLayerView query.
In the example, here is how he does the query,
layerView.queryFeatures({
geometry: view.extent,
returnGeometry: true,
orderByFields: ["GEOID"]
})
.then(function (results) {
graphics = results.features; // <- here are the features
...
})
.catch(function (error) {
console.error("query failed: ", error);
});
Now if you don't have a FeatureLayer on the map with the districts, you will have to do a query to the service that contains that information. For this you can use QueryTask
ArcGIS JS API - QueryTask.