tailwindcss darkmode 为 React Native 定义

问题描述 投票:0回答:1

我想为 twrnc 和 tailwindcss 设置浅色和深色模式颜色配置,以便我可以像这样定义颜色:

const colors = {
  light: {
    red: {
      100: "#880808",
      ...
    }
  },
  dark: {
    red: {
      100: "red",
      ...
    }
 },

}

我想这样定义,然后使用

<View style={tw`bg-red`}>...</View>

如何配置?

环境

"twrnc": "^4.3.0",
 "tailwindcss": "^3.4.4",
react-native tailwind-css
1个回答
0
投票

第 1 步:在 TailwindCSS 配置中定义自定义颜色 首先,您需要在 tailwind.config.js 文件中定义自定义颜色。您将设置浅色和深色模式配色方案。

// tailwind.config.js
module.exports = {
  darkMode: 'class', // Enable dark mode by adding 'class'
  theme: {
    extend: {
      colors: {
        light: {
          red: {
            100: '#880808',
            // Add more color shades as needed
          },
        },
        dark: {
          red: {
            100: 'red',
            // Add more color shades as needed
          },
        },
      },
    },
  },
  variants: {
    extend: {},
  },
  plugins: [],
}

第 2 步: 为 Tailwind React Native 配置 twrnc

npm install twrnc

使用自定义配置在项目根目录中创建 tailwind.config.js 文件(如果尚未创建)。

// twrnc.config.js
module.exports = {
  config: require('./tailwind.config.js'),
};

第3步:在React Native中实现浅色和深色模式

import React, { useState } from 'react';
import { View, Text, Switch } from 'react-native';
import tw from 'twrnc';

const App = () => {
  const [isDarkMode, setIsDarkMode] = useState(false);

  const toggleSwitch = () => setIsDarkMode(previousState => !previousState);

  return (
    <View style={tw`${isDarkMode ? 'dark' : 'light'}`}>
      <Switch
        onValueChange={toggleSwitch}
        value={isDarkMode}
      />
      <View style={tw`bg-red-100 p-4`}>
        <Text style={tw`text-white`}>Hello, World!</Text>
      </View>
    </View>
  );
};

export default App;

© www.soinside.com 2019 - 2024. All rights reserved.