我有一个main.rs
文件,看起来像这样:
fn main() {
yew::Renderer::<App>::new().render();
}
但是我需要将App组件导入main.rs
。从我在教程中看到的,我应该能够做到:use <name_of_app>::App;
,但这不起作用。它会告诉我
我尝试了这种方法,但是Rust分析器抱怨App
被定义了多次:
mod App;
use App::App;
fn main() {
yew::Renderer::<App>::new().render();
}
我也遇到过同样的问题,但是我用不同的方法解决了,希望你可以参考下面的内容
我已经在组件文件中包装了App组件的渲染方法,如app.rs
#[function_component(App)]
fn app() -> Html {
// some code
}
pub fn render() {
yew::Renderer::<App>::new().render();
}
然后在main.rs
中,你可以使用app mod并调用app::render()
mod app;
fn main() {
app::render();
}
您需要为定义App
的文件定义一个模块。mod name_of_app; use name_of_app::App;
src/main.rs
mod module_for_app;
use module_for_app::App;
fn main() {
yew::Renderer::<App>::new().render();
}
src/module_for_app.rs
pub struct App {
// ....
}
参见the Book中关于模块的部分以获取更多信息