我试图阅读很多文章,但是我仍然无法理解匕首的想法。
我有我的指标类,我想向其注入改造实例。
import React, { Component } from 'react';
import {NavLink} from "react-router-dom";
import $ from 'jquery';
class Reja_S7_News extends Component {
constructor(props) {
super(props)
}
componentDidMount(){
$('.flexslider').flexslider({
animation: "slide",
controlNav: false,
});
}
render() {
return (
<div>
<div className='row_outer'>
<h1> Aktualności</h1>
<div className='col-12'>
<div className='row news_wrapper align-items-center justify-content-center'/>
{/* Slider */}
<div className="flexslider left">
<ul className="slides">
<li>
<img src="https://source.unsplash.com/BaCmEa2hy8g/1600x900"/>
<div className="meta">
<h1>Lorem ipsum dolor sit amet, consectetur.</h1>
<h2>Lorem ipsum dolor sit.</h2>
<div className="category">
<p>$286600</p>
<span>Category</span>
</div>
</div>
</li>
<li>
<img src="https://source.unsplash.com/RmZIUIF2S2Q/1600x900"/>
<div className="meta">
<h1>Lorem ipsum dolor sit amet, consectetur.</h1>
<h2>Lorem ipsum dolor sit.</h2>
<div className="category">
<p>$415000</p>
<span>Category</span>
</div>
</div>
</li>
<li>
<img src="https://source.unsplash.com/cFplR9ZGnAk/1600x900"/>
<div className="meta">
<h1>Lorem ipsum dolor sit amet, consectetur.</h1>
<h2>Lorem ipsum dolor sit.</h2>
<div className="category">
<p>$415000</p>
<span>Category</span>
</div>
</div>
</li>
<li>
<img src="https://source.unsplash.com/Ui8KQ0ahXBM/1600x900"/>
<div className="meta">
<h1>Lorem ipsum dolor sit amet, consectetur.</h1>
<h2>Lorem ipsum dolor sit.</h2>
<div className="category">
<p>$415000</p>
<span>Category</span>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
)
}
}
export default Reja_S7_News;
没问题,我能够将其注入MainActivity,但这不是我想要的。
有什么主意吗?我不知道代码的哪些部分会有所帮助,所以请告诉我我会提供它们。
答案 0 :(得分:0)
您的交互器类可以注射吗?
您能否尝试在我们的impl类中添加一个空构造函数以使其可注入:
@Inject
public GetForecastInteractorImpl () { }
答案 1 :(得分:0)
注射时,请遵循以下步骤 让我们以提供改造为例(以Kotlin为参考) 1.创建NetModule(用@Module注释)
要创建改造,您可能需要提供OkHttpClient
@Provides
@Singleton(because we need only one instance through out the application)
fun provideOkHttpClient(): OkHttpClient {
return OkHttpClient().Builder().build() (you can also pass other things while building like Interceptor, timeOut check docs for that)
}
现在使用相同的格式提供翻新,但是要创建翻新,您需要传递OkHttpClient作为我们上面提供的参数。
@Provides
@Singleton
fun provideRetrofit(okHttpClient: OkHttpClient): Retrofit {
return Retrofit.Builder().client(okHttpClient).build()
}
现在您必须通过提供上述NetModule()来创建带有@Component注释的应用程序组件
编译Dagger之后,将生成该组件类,您可以使用该组件类来注入您的类
在上述情况下,假设我们创建了AppComponent的MainApplication类, 有一个称为MainActivity的活动,它需要Retrofit实例,然后MainActivityComponent将添加依赖项,说我也需要AppComponent, 那么您可以继续进行改造。
让我知道我能够解决您的评论:)