代码之家  ›  专栏  ›  技术社区  ›  FerX32

用asp.net内核实现智能感知

  •  2
  • FerX32  · 技术社区  · 6 年前

    我试着为反应道具获得智慧。在此之前,我会将viewmodel传递给razor视图(.cshtml)。 @model namespace.WeatherVM 是的。这样我就可以很容易地访问所有可用的属性,比如 @Model.TemperatureF 是的。Intellisense会弹出并让我知道可以访问的内容。

    在反应中,我也想做同样的事情。在我的VM中,如果我有40个属性,我需要一个智能感知或一些可以显示所有可用属性的东西。

    假设我有这样的东西:

    function renderForecastsTable(props) {
        return (
            <table className='table'>
                <thead>
                    <tr>
                        <th>Date</th>
                        <th>Temp. (C)</th>
                        <th>Temp. (F)</th>
                        <th>Summary</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    {props.forecasts.map(forecast =>
                        <tr key={forecast.dateFormatted}>
                            <td>{forecast.dateFormatted}</td>
                            <td>{forecast.temperatureC}</td>
                            <td>{forecast.temperatureF}</td>
                            <td>{forecast.summary}</td>
                        </tr>
                    )}
                </tbody>
            </table>
        );
    }
    

    我怎么能让智能感应告诉我道具有预测?或者告诉我每个预测都有类似temperaturef的属性?

    我试着和道具打交道,但运气不好。
    /模型/天气预报.js

    import PropTypes from 'prop-types';
    export const WeatherForecast = PropTypes.shape({
        TemperatureC: React.PropTypes.string,
        TemperatureF: React.PropTypes.string,
        Summary: React.PropTypes.string,
        TestProp: React.PropTypes.string
    });
    

    然后试着有智慧的工作
    获取数据.js

    import * as Model from '../models/weatherForecast';
    class FetchData extends Component {
        componentWillMount() {
            this.props.weatherForecast.TestProp // <---- No intellisense or no suggestion was provided for the existence of 'TestProp'. I had to manually write this in.
        }
    }
    FetchData.prototype = { weatherForecast: Model.WeatherForecast };
    

    你知道我能做些什么吗?我知道typescript是一种解决方案,但这是唯一的吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Ben Smith    6 年前

    如果使用visual studio代码,可以使用 React PropTypes Intellisense 分机。

    这将为您提供与PropTypes组件的智能化建议。