小编Al *_*son的帖子

如何使用 Rollup.js 构建包含 MateriaUI 等子文件夹的 npm lib

我正在尝试构建我的库并像 MaterialUI 那样导出组件:

代码截图

但是,我唯一能做的就是:

文件夹结构截图

我使用 rollup.js 和 typescript。我注意到 d.ts 和 type.ts 文件已导出到组件文件夹中,但组件本身导出到主文件夹中。

有人可以帮我修复它吗?

我的 rollup.js 配置:

import commonjs from '@rollup/plugin-commonjs'
import resolve from '@rollup/plugin-node-resolve'
import replace from '@rollup/plugin-replace'
import peerDepsExternal from 'rollup-plugin-peer-deps-external'
import typescript from 'rollup-plugin-typescript2'
import postcss from 'rollup-plugin-postcss'
import { terser } from 'rollup-plugin-terser'
import del from 'rollup-plugin-delete'
import includePaths from 'rollup-plugin-includepaths'

/* css imports */

import pkg from './package.json'

export default {
  input: ['./src/index.ts', './src/TestComponent/index.tsx'],
  output: [
    {
      dir: 'dist/esm',
      format: 'esm',
      sourcemap: true,
      exports: 'named',
      strict: …
Run Code Online (Sandbox Code Playgroud)

javascript export build typescript rollupjs

5
推荐指数
1
解决办法
942
查看次数

反应导航未定义的参数

我正在尝试将 params 传递到一个新屏幕,并像这里提到的那样实现它。

我有以下TouchableOpacity按钮。

<TouchableOpacity
  onPress={() => {
    this.props.navigation.navigate('SomeScreen', {
      title: 'Title',
      subTitle: 'Subtitle',
    });
  }}
>
Run Code Online (Sandbox Code Playgroud)

在另一个页面上(我们称之为 Somescreen),我有以下内容:

render() {
  const { navigation } = this.props;
  const title = navigation.getParam('title');
}
Run Code Online (Sandbox Code Playgroud)

但title以上是未定义的:

{ params: undefined, routeName: "Somescreen", key: "id-xx" }
Run Code Online (Sandbox Code Playgroud)

我的根堆栈:

const RootStack = createStackNavigator({
  SomescreenA: { screen: SomescreenA },
  SomescreenB: { screen: SomescreenB },
}, { headerMode: 'none' });
Run Code Online (Sandbox Code Playgroud)

为什么我的参数在新屏幕中未定义?

react-native react-navigation

4
推荐指数
3
解决办法
2万
查看次数