Более подробный ответ: изменение route.js на
class Routes extends React.Component {
render() {
return (
<Switch>
<Route exact path="/" component={AppComponent}/>
<Route exact path="/products" component={ProductContainer}/>
<Route path="/products/:productId" component={AddProductComponent}/>
</Switch>
)
}
}
export default Routes;
и изменение index.js на:
ReactDOM.render(
<Provider store={store}>
<Router>
<Routes/>
</Router>
</Provider>
, document.getElementById('root')
);
работало отлично Надеюсь, это кому-нибудь поможет.
Существует несколько основных видов вывода типа в C#:
Неявно введенные локальные переменные:
вывод аргумента типа Общего метода, т.е. Вы не указываете аргументы типа в вызове к общему методу, компилятор понимает их на основе аргументов.
вывод типа параметра Лямбда-выражения
вывод Типа массива, например, new[] { "Hi", "there" }
вместо new string[] { "Hi", "there" }
я, вероятно, забыл некоторые другие функции, которые можно было бы назвать "выводом типа". Я подозреваю, что Вы главным образом интересуетесь первым, но другие могли бы относиться к Вам также :)
Это работает только с локальными переменными насколько я понимаю.
Это может только использоваться для локальных переменных, но это может обнаружить тип во многих различных формах.
var myVar = SomeMethodThatReturnsInt(); //will know it's an int
var myIntList = new List<int>(); //this works too (although this is technically not type inference)
var myOwnVar = new { Name = "John", Age = 100 }; // will create own type and infer that
РЕДАКТИРОВАНИЕ: Еще один пример Tye Inference с Лямбдами. IE:
var myList = new List<int>();
//add some values to list
int x = myList.Find(i => i == 5); // compiler can infer that i is an int.